Multithreading VBA与Excel并行运行
这个问题我一直都有,但从来没有真正提出过 我现在拥有的是一个显示数据的工作表,用户可以随时刷新。因此:Multithreading VBA与Excel并行运行,multithreading,excel,vba,Multithreading,Excel,Vba,这个问题我一直都有,但从来没有真正提出过 我现在拥有的是一个显示数据的工作表,用户可以随时刷新。因此: 用户触发VBA函数 VBA函数在用户等待时收集数据并进行分析 VBA函数将结果转储到电子表格中 用户继续查看数据 由于数据分析都是在VBA内部完成的(不使用工作簿,仅使用记录集、数组、库等),因此我希望能够以某种方式允许用户继续查看原始数据,同时VBA负责获取和分析新数据 我知道您不能同时使用工作簿和运行VBA,但您可以有两个excel实例,在一个工作簿上工作,而另一个运行VBA 那么,我可以
(另外,不确定标记“Multithreading”在技术上是否正确)我还没有尝试过这个方法,但您似乎可以使用从VBA启动Excel。超链接必须是图纸的本地路径。您可能还必须先使用VBA制作图纸的副本
您是否考虑过拥有两个副本的并发性问题?首先,Excel中没有VBA的多线程处理。 第二件事-自Excel2007以来,Excel支持公式的多线程重新计算 因此,要在Excel中进行多线程计算,您至少可以做两件事:
我的建议-选择选项2。我刚刚尝试了选项1,我可以在第二个实例上访问工作簿(将newExcel设置为New Excel.Application),但在第二个实例上运行宏时,第一个实例会等待其完成。没有办法在后台运行?(类似于后台查询刷新)运行第二个Excel,然后使用Shell。查看这些链接:我正在运行shell,就像在第二个链接()上一样,但是我用来shell第二个链接的excel实例仍然在xlApp上等待。运行“宏”行,直到xlApp完成宏的运行。查看第一个链接,似乎有一种方法可以使用WScript继续运行,而不是等待返回,但它是针对可执行文件的,因此不确定如何插入Excel文件,请勾选此项: