首页 > 解决方案 > vba 循环运行时单元格编辑错误

问题描述

我有这个简单的代码

Sub TestEdit()
    Dim s
    While True
        On Error GoTo StopAction
            Cells(1, 1) = 1
StopAction:
        WaitSeconds (1)
        DoEvents
    Wend
End Sub

当我编辑任何单元格时,宏停止运行时错误 1004:应用程序定义或对象定义错误。

真正的脚本每 1 秒从文件中读取数据并将其添加到工作表中。而且我无法编辑任何单元格。

有什么方法可以防止它&

标签: excelvbaloops

解决方案


而不是循环,也许您可​​以使用 Application.OnTime 每秒运行宏而不使用 DoEvents。

PS:我相信 While ... Wend 结构已被弃用,最好使用 Do While ... Loop

然而,如果没有看到真正的宏观,很难给出一个有意义的答案。


推荐阅读