2013-03-21 53 views
0

当Excel VBA宏执行时,我们可以在运行程序的excel中更改单元格的值吗? 编辑选项,我想脚本/程序运行运行VBA程序时的Excel单元格值编辑

+0

这就要求安全问题和数据的不一致性。我想你应该避免在你的程序运行时对表格进行编辑。 – Vesper 2013-03-21 11:44:34

+0

如果你的宏是“正在运行”(就像一个大批量工作),那么工作簿通常会变得无法响应,所以我不认为你能够做到。搏一搏? – NickSlash 2013-03-21 11:54:38

+0

宏在执行时你不能做任何事情。为什么不编辑你的宏? – 2013-03-21 12:03:05

回答

0

时,当你的VBA由很多你仍然可以在Excel的东西环路的加入,使:

DoEvents 

加入这个循环中(S ),这将允许在程序运行时发生其他事件(例如用户更改内容)。

请记住别人已经给你的警告,你可以严重破坏你的VBA脚本,因为用户实际上可能会混淆你在脚本中可能与之交互的所有excel电子表格内容。

有点“好玩”的例子:

Option Explicit 

Sub example_DoEvents() 
    Dim timer1 As Date 

    timer1 = Now() 

    Do While Now() < timer1 + 10/60/60/24 'only let it last for 10 seconds 
     DoEvents 
     ActiveSheet.Range("A1").Value2 = Selection.Address 
    Loop 

    MsgBox "END" 

End Sub