Vba 每分钟自动运行一次宏
早上好 基本上,我从web(abcbourse.com)导入索引数据,并使其每分钟刷新一次 我创建了一个宏来记录每个索引的历史值(从屏幕截图中的CAC40开始,每分钟E列都会出现新值(每次数据自动刷新时) 这是我的宏,运行良好(参见屏幕截图的E列): 我的问题是,我希望每次刷新数据时都运行此宏Vba 每分钟自动运行一次宏,vba,excel,Vba,Excel,早上好 基本上,我从web(abcbourse.com)导入索引数据,并使其每分钟刷新一次 我创建了一个宏来记录每个索引的历史值(从屏幕截图中的CAC40开始,每分钟E列都会出现新值(每次数据自动刷新时) 这是我的宏,运行良好(参见屏幕截图的E列): 我的问题是,我希望每次刷新数据时都运行此宏 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then Appl
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
Application.EnableEvents = False
Call Historical_Index
Application.EnableEvents = True
End If
End Sub
这确实是在调用我的宏,但只有在我手动更改B2时才调用。如果我等待数据自动刷新,则不会调用我的宏(即使数据已更改)
我想知道如何使这个过程自动化,我需要你的帮助
提前感谢Ps:我不知道这是否重要,但我的宏保存在VBAProject(“本文档”)>Sheet2(Sheet2)请尝试以下范围的宏
B1:B8:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Sheet1.Range("B1:B8")) Is Nothing Then
Application.EnableEvents = False
Call Historical_Index
Application.EnableEvents = True
End If
End Sub
或者,如果您只想检查B2
:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Sheet1.Range("B2")) Is Nothing Then
Application.EnableEvents = False
Call Historical_Index
Application.EnableEvents = True
End If
End Sub
请尝试以下范围
B1:B8:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Sheet1.Range("B1:B8")) Is Nothing Then
Application.EnableEvents = False
Call Historical_Index
Application.EnableEvents = True
End If
End Sub
或者,如果您只想检查B2
:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Sheet1.Range("B2")) Is Nothing Then
Application.EnableEvents = False
Call Historical_Index
Application.EnableEvents = True
End If
End Sub
QueryTable
有一个AfterRefresh
事件,有文档记录-您可以创建一个类来捕获该事件并使用处理程序来触发宏。QueryTable
有一个AfterRefresh
事件,有文档记录-您可以创建一个类来捕获该事件并使用处理程序来触发宏。Nikolaos Polygenis>I我只尝试了B1的代码,这似乎有效。我是这个网站的新手,你的意思是我需要给你的答案打分吗?如果是,我该怎么做?我就是这么做的,它显示一个“1”,一秒钟后显示一个“0”相反,Nikolaos Polygenis>我只尝试了B1的代码,这似乎有效。我是这个网站的新手,你的意思是我需要给你的答案打分吗?如果是,我该怎么做?我就是这么做的,它会显示一个“1”,而在“0”之后的一秒钟