'Private Sub Worksheet_Calculate()
'
' If IsError(Range("ValTest1").Value) Then
' Sheets("Market Books (2)").Select
' Range("HistoricalData").Select
' Selection.ClearContents
' else
' call macro12
' End If
'
'End Sub
我在一张VBA中运行下面的代码。我正在离开堆栈消息。由于API连接,屏幕每2秒更新一次。所以它会每2秒触发一次代码。你可以给我一个帮助,当API返回错误值时,我仍然可以清除内容吗?如果API返回值,我想触发一些其他宏(macro12)
答案 0 :(得分:0)
您可能正在创建多个计算事件:
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If IsError(Range("ValTest1").Value) Then
Sheets("Market Books (2)").Select
Range("HistoricalData").Select
Selection.ClearContents
Else
Call macro12
End If
Application.EnableEvents = True
End Sub
在处理过程中禁用事件。
答案 1 :(得分:0)
Private Sub Worksheet_Calculate()
If IsError(Range("ValTest1").Value) Then
Sheets("Market Books (2)").Select
Range("HistoricalData").Select
Call SelectNewCell
Else
Call Macro12
End If
End Sub
基本上SelectNewCell()修复了这个问题。它必须通过如此多的重复选择来卸载内存空间
我把SelectNewCell()放在同一张表中
Private Sub Worksheet_Activate()
Me.ScrollArea = "A1:M34"
End Sub