我看文献说,VBA6.3就支持多线程了,是所谓的能让2+个进程同时运行吗?
比如我下面的例子:
下面是2个段非常简单的代码
Sub sum1()
Dim i1 As Integer
For i1 = 1 To 30000
Range("A1") = i1
DoEvents
Next
End Sub
Sub sum2()
Dim i2 As Integer
For i2 = 1 To 30000
Range("A2") = i2
DoEvents
Next
End Sub
我想实现的效果就是当A1单元格在进行1到30000的变化时,A2也能同时运行进行1到30000的变化
现在就是运行另一段进程时,之前运行的就是自动暂停
那么要同时运行应该怎么改这段代码呢??
谢谢各位大神了
DoEvents和线程有本质的不同,你的代码要想实现两个事件的交替运行,只能使用定时器来交替获得事件的处理权。
别费劲了,一个cpu同一个时间只能干一件事。
我认为这个问题可以解决,你可以查找VBA 中,application下的FramWork的相关属性,里面有RunOnUIThread RunInBackground 或者ICUU相关的,
在对象浏览器里面搜索Task 希望你能得到启发,