[求助]vba怎么使excel完全后台

比如说我有2个工作簿,一个为A.XLS(以下简称A),另一个为B.XLS(以下简称B),现在我打开了A并且执行里面我编好的VBA代码,而且我也使用了最小化(application.WindowState =xlMinimized ),这时A工作簿就处于最小化执行代码中,但是由于数据量比较大,有时大到几万条数据要处理,这就会要用好长一段时间,但是这段时间里我又想处理B工作簿中的数据,由于A工作簿的程序没执行完,B工作簿就打不开,我现在想请高手们看看有没有办法把A和B完全独立开,就是我的A工作簿在执行程序的同时,我也能打开并且操作B工作簿。

这个要看 你的程序了!如果你的程序编写的时候是独占主程序的话 你就只有修改程序之后才能处理别的工作簿了……
要看你的程序编写的情况 如果它没有指定处理某个指定的工作簿的话 你就不能再打开另一个工作簿
专有的处理程序 在编写的时候 要在语句中指定 工作簿、工作表……
这样 其他的将不受影响……追问

我用windows(“A.xls").Activate语句指定好像不管用,最小化执行的时候,还是没办法打开其它工作簿。还有想问一下指定工作簿的语句怎么写?可不可以举个例子。谢谢

追答

如果你还想在它工作的时候 同时再处理编辑其他的工作的话,你不能双击打开那个工作簿 而是应该 从开始 程序 再打开一个excel 主程序进程 然后 用新打开的主程序 使用打开命令打开要编辑的工作簿 这样新打开的工作簿就可以正常编辑了…………

但是 当你原来的那个 宏没有结束的话 你就无法切换到那个工作簿……

重点:使用 开始程序 再打开一个excel 进程 然后……

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-29
通过“开始”…… 分别打开两个 Excel 。用其中的一个 Excel 进程打开 A 工作簿,用另外一个 Excel 进程打开 B 工作簿。那样就可以满足楼主的要求了。追问

谢谢你,刚刚试了下,创建一个新的进程可以解决,有没有办法把语句修改一下,可以直接打开桌面的工作簿啊?

本回答被网友采纳
第2个回答  2013-09-29
重新打开一个excel,然后在excel中打开b文件,这样就是两个完全分开的excel。
注意一定要先去打开excel执行文件。 excel.exe
第3个回答  2013-09-29
application.visible=false