使VBA宏自动/持续运行
我的VBA代码有点问题。我有一些与彭博社相关的实时数据,我希望每次单元格值高于特定阈值时都能弹出一个窗口。要做到这一点,我需要找到一种方法,不断运行我的宏,以检查我的条件是否得到验证。。但是我不知道怎么做。。我当前的VBA代码是:使VBA宏自动/持续运行,vba,macros,Vba,Macros,我的VBA代码有点问题。我有一些与彭博社相关的实时数据,我希望每次单元格值高于特定阈值时都能弹出一个窗口。要做到这一点,我需要找到一种方法,不断运行我的宏,以检查我的条件是否得到验证。。但是我不知道怎么做。。我当前的VBA代码是: Private Sub Worksheet_Activate() Dim i As Long For i = 2 To 99 If Cells(i, 11).Value > 25000 Then MsgBox "Last t
Private Sub Worksheet_Activate()
Dim i As Long
For i = 2 To 99
If Cells(i, 11).Value > 25000 Then
MsgBox "Last trade on " & Cells(i, 1).Value & " is higher than 25 000"
End If
Next i
End Sub
如果你能帮我写这段代码,那就太好了!提前感谢您可以尝试以下内容:
Private Sub Worksheet_Activate()
Dim i As Long
Do while (true)
For i = 2 To 99
If Cells(i, 11).Value > 25000 Then
MsgBox "Last trade on " & Cells(i, 1).Value & " is higher than 25 000"
End If
Next i
Application.Wait (Now + TimeValue("0:00:10")) 'wait 10 seconds
Loop
End Sub
编辑:如果相同,要使其停止显示,请使用单元格(如10列之外)存储当前值并进行比较
Private Sub Worksheet_Activate()
Dim i As Long
Do while (true)
For i = 2 To 99
If Cells(i, 11).Value > 25000 Then
If Cells(i, 11).Value <> Cells(i, 1).ValueThen
MsgBox "xxxxx"
Cells(i, 11).Value = Cells(i, 1).Value 'setting value
End If
End If
Next i
Application.Wait (Now + TimeValue("0:00:10")) 'wait 10 seconds
Loop
End Sub
Private子工作表\u Activate()
我想我会坚持多久
边做边做(对)
对于i=2到99
如果单元格(i,11)。值>25000,则
如果单元格(i,11)。值单元格(i,1)。值然后
MsgBox“xxxxx”
单元格(i,11)。值=单元格(i,1)。值的设置值
如果结束
如果结束
接下来我
Application.Wait(现在+时间值(“0:00:10”))等待10秒
环
端接头
通过搜索ms excel计时器
您将找到类似的内容,谢谢!我会试试的谢谢,明天市场开盘时我会试试:)我刚试过,但是循环总是让Excel堵塞,我再也不能点击单元格了。。所以我用Application.OnTime替换了Application.Wait,并删除了“Do-While..Loop”,它工作得非常好。再次感谢!:)嗨,伙计们,我还有一个问题。。VBA代码工作正常,每10秒运行一次。。但是,如果每10秒信息相同,则弹出窗口会出现多次(每10秒一次),并且仅当不再验证该条件时才会停止。。是否有办法使弹出窗口仅在第一次满足条件时出现?例如,如果条件在1分钟后仍然得到验证,我不希望看到弹出窗口@teckchai lim@BitAccessor存储满足条件的单元格(例如,在数组中或工作表行中的单元格(可能是时间戳))并在显示msgbox之前检查它们是否已存储。msgbox应在何时再次出现?第二天?下一个小时?