gpt4 book ai didi

vba - 刷新数据时宏不运行?

转载 作者:行者123 更新时间:2023-12-04 20:47:16 38 4
gpt4 key购买 nike

我编写了以下代码来检测单元格值的变化,然后运行宏,但是当由于数据连接而刷新数据时,代码不起作用。

Private Sub worksheet_change(ByVal target As Range)
If target.Address = "$A$2" Then

If target.Value = 1 Then

taskID = Shell("c:\imawesome.bat", vbNormalFocus)
End If
If target.Value = 0 Then

taskID = Shell("c:\Sender.bat", vbNormalFocus)
End If
End If
End Sub

该代码仅在我在单元格中手动输入数据时才有效。
请建议刷新数据时运行的代码。

最佳答案

关注这篇微软文章 KB213187并假设您的数据连接是一个查询表

你可以试试这个

创建一个新模块并将此代码放入其中

Public WithEvents qt As QueryTable

Private Sub qt_BeforeRefresh(Cancel As Boolean)

'do your stuff here

End Sub

然后在另一个模块上创建一个类
Dim X As New Class1

Sub Initialize_It()
Set X.qt = Thisworkbook.Sheets(1).QueryTables(1)
End Sub

并确保每次打开文档时 Initialize_It 都会运行。

请注意,此代码仅适用于每个文档一个 qquerytable,如果您有更多,则需要进行修改。

希望能帮助到你。

关于vba - 刷新数据时宏不运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887227/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com