我已经编写了一个宏来从外部模拟工具中获取值,并将结果打印在excel中。模拟工具只会每30秒给出一个值,并且会运行几天。因此我在循环中给了VB 30秒的延迟。我跑了一整夜。在第二天早上,我可以看到某些行后没有更新结果。但VBA编辑器头显示宏正在运行,并且外部仿真工具也在运行。 excel中最后更新的行每次都不是恒定的。为什么VBA停止在Excel中打印结果?任何帮助都感激不尽。VBA在excel中停止打印值
示例代码:
For l = 3 To lastrow1_mul + 2
Module4.Wait 30
nv = send_data.Call
Sheets(SecondSheetName).Range(SecondSheetCol_9 & l) = Hex(nv)
dv = DT.Call
If dv = 44 Then
Sheets(SecondSheetName).Range(SecondSheetCol_10 & l) = "A"
ElseIf dv = 54 Then
Sheets(SecondSheetName).Range(SecondSheetCol_10 & l) = "B"
Else
Sheets(SecondSheetName).Range(SecondSheetCol_10 & l) = "C"
End If
Next l
模块4:
Function Wait(PauseTime As Single)
Dim StartTime As Single
StartTime = Timer
While Timer < StartTime + PauseTime
DoEvents
Wend
End Function
SEND_DATA和DT是外部仿真工具的functions.Variable lastrow1_mul的价值得到7000左右更新,但在Excel行停止点500本身的印刷(并不总是)。
我试过使用错误捕获块,但没有捕获任何错误。 –
你需要提供一些代码/例子 – InContext
@PhilipABarnes对不起,请问这个..我如何在这里添加一段代码。我试着在这里复制粘贴,但代码像段落一样。 –