Excel VBA新手在这里。我只需要一个宏,它将刷新我正在查看的单张表上的查询。我已经有刷新宏,但我总是必须指定要刷新的工作表名称。是否有可能在我正在查看的任何表单上运行宏?下面是它的宏的当前状态:Excel VBA使用选定工作表
Sub Refresh_Query()
Sheets("Sheet1").Select
Range("B6").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
End Sub
Excel VBA新手在这里。我只需要一个宏,它将刷新我正在查看的单张表上的查询。我已经有刷新宏,但我总是必须指定要刷新的工作表名称。是否有可能在我正在查看的任何表单上运行宏?下面是它的宏的当前状态:Excel VBA使用选定工作表
Sub Refresh_Query()
Sheets("Sheet1").Select
Range("B6").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
End Sub
你想用ActiveSheet.Name
,如:
Sub Refresh_Query()
Sheets(ActiveSheet.Name).Select
Range("B6").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
End Sub
的OP是模棱两可:文本要求对刷新活动工作表上的所有查询表,但示例代码仅刷新包含单元的一个查询表B3
要刷新只有一个查询表使用
Sub RefreshOneQuery()
Dim qt As QueryTable
On Error Resume Next ' in case there is no qt containing cell B6
Set qt = Range("B6").QueryTable
On Error GoTo 0
If Not qt Is Nothing Then
qt.Refresh BackgroundQuery:=False
End If
End Sub
要刷新的片所使用的所有查询表
Sub RefreshAllQueries()
Dim qt As QueryTable
For Each qt In ActiveSheet.QueryTables
qt.Refresh BackgroundQuery:=False
Next
End Sub
完美。非常感谢。 – user1985112