我已经阅读了很多其他帖子(特别是this),甚至试图复制一些,我不会错误 .
我正在尝试在电子表格刷新后运行一个函数 . 似乎我不得不乱用查询表,但如果有某种方法我可以避免这种情况,请告诉我 . 我附上了我认为相关的代码片段(虽然我可能错过了一些) .
我得到的错误是运行时错误:'9'下标超出范围
“这个工作簿”中的代码
Dim qtevent As qtClass
Private Sub Workbook_Open()
Set qtevent = New qtClass
Set qtevent.HookedTable = ThisWorkbook.Worksheets("REFRESH SHEET").ListObjects(1).QueryTable
MsgBox "Qt Events Run"
End Sub
类qtClass中的代码
Option Explicit
Private WithEvents qt As Excel.QueryTable
Public Property Set HookedTable(q As Excel.QueryTable)
Set qt = q
End Property
Private Sub qt_AfterRefresh(ByVal Success As Boolean)
MsgBox "qt_AfterRefresh called sucessfully."
If Success = True Then
MsgBox "If called succesfully."
End If
End Sub