saseku
灭我豚拳
采纳率0%
2014-11-23 16:29

VBA真的无法同时运行2+个进程吗?

我看文献说,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的变化
现在就是运行另一段进程时,之前运行的就是自动暂停

那么要同时运行应该怎么改这段代码呢??

谢谢各位大神了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • qqwe13 PASSION~ 3年前

    我认为这个问题可以解决,你可以查找VBA 中,application下的FramWork的相关属性,里面有RunOnUIThread RunInBackground 或者ICUU相关的,
    在对象浏览器里面搜索Task 希望你能得到启发,

    点赞 评论 复制链接分享
  • Topc008 一如既往哈 7年前

    别费劲了,一个cpu同一个时间只能干一件事。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 7年前

    DoEvents和线程有本质的不同,你的代码要想实现两个事件的交替运行,只能使用定时器来交替获得事件的处理权。

    点赞 评论 复制链接分享

相关推荐