使用 VBA 仅刷新彭博数据的一个工作表
Refresh Only One Worksheet of Bloomberg Data With VBA
我只需要用 VBA 刷新彭博数据的一个工作表。
如果我尝试:
Application.Run "RefreshAllWorkbooks"
Application.Run "RefreshAllStaticData"
它将刷新所有工作簿。
你知道如何只刷新一张工作表吗?
谢谢。
如果给定工作表中有几个查询表,刷新每个查询表的最简单方法是创建一个 for 循环。这将刷新 Excel:
第一个工作表中的所有对象
Sub TestMe()
Dim jLo As ListObject
For Each jLo In Worksheets(1).ListObjects
jLo.QueryTable.Refresh
Next jLo
End Sub
Application.Run "RefreshEntireWorksheet"
或
Private Sub refreshBBG(xlWsName As String)
If Not Sheets(xlWsName) Is Nothing Then
Sheets(xlWsName).Activate
Application.Run "RefreshEntireWorksheet"
End If
End Sub
Selection.ListObject.QueryTable.Refresh
以下也适用:
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ThisWorkbook.Connections("Query - MYQUERYNAME").OLEDBConnection.Refresh
我只需要用 VBA 刷新彭博数据的一个工作表。 如果我尝试:
Application.Run "RefreshAllWorkbooks"
Application.Run "RefreshAllStaticData"
它将刷新所有工作簿。
你知道如何只刷新一张工作表吗?
谢谢。
如果给定工作表中有几个查询表,刷新每个查询表的最简单方法是创建一个 for 循环。这将刷新 Excel:
第一个工作表中的所有对象Sub TestMe()
Dim jLo As ListObject
For Each jLo In Worksheets(1).ListObjects
jLo.QueryTable.Refresh
Next jLo
End Sub
Application.Run "RefreshEntireWorksheet"
或
Private Sub refreshBBG(xlWsName As String)
If Not Sheets(xlWsName) Is Nothing Then
Sheets(xlWsName).Activate
Application.Run "RefreshEntireWorksheet"
End If
End Sub
Selection.ListObject.QueryTable.Refresh
以下也适用:
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ThisWorkbook.Connections("Query - MYQUERYNAME").OLEDBConnection.Refresh