Excel 一次刷新多个活动工作簿中的透视表

Excel 一次刷新多个活动工作簿中的透视表,excel,vba,Excel,Vba,我需要从SQL数据库的不同工作簿中定期刷新多个透视表 最简单的方法是什么?是否同时刷新不同工作簿中的数据透视表?如果是vba格式,则可以。可以。下面的代码将询问您excel文件所在的文件夹路径,该路径需要刷新 太棒了!它起作用了。。我现在需要做的就是刷新后观察结果。。如果它的工作100%的产出,我需要 工作簿对象具有RefreshAll方法,用于刷新VBA表单WorkbookWorkbookName中的所有连接、数据透视、公式等。RefreshAll请使用问题的编辑链接添加其他信息。“发布答案

我需要从SQL数据库的不同工作簿中定期刷新多个透视表


最简单的方法是什么?是否同时刷新不同工作簿中的数据透视表?如果是vba格式,则可以。

可以。下面的代码将询问您excel文件所在的文件夹路径,该路径需要刷新


太棒了!它起作用了。。我现在需要做的就是刷新后观察结果。。如果它的工作100%的产出,我需要

工作簿对象具有RefreshAll方法,用于刷新VBA表单WorkbookWorkbookName中的所有连接、数据透视、公式等。RefreshAll请使用问题的编辑链接添加其他信息。“发布答案”按钮只能用于完整回答问题。对不起,我只是个初学者
Sub LoopAllExcelFilesInFolder()

'PURPOSE: To loop through all Excel files in a user specified folder and perform a set task on them
'SOURCE: www.TheSpreadsheetGuru.com

Dim wb As Workbook
Dim myPath As String
Dim myFile As String
Dim myExtension As String
Dim FldrPicker As FileDialog

'Optimize Macro Speed
  Application.ScreenUpdating = False
  Application.EnableEvents = False
  Application.Calculation = xlCalculationManual

'Retrieve Target Folder Path From User
  Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)

    With FldrPicker
      .Title = "Select A Target Folder"
      .AllowMultiSelect = False
        If .Show <> -1 Then GoTo NextCode
        myPath = .SelectedItems(1) & "\"
    End With

'In Case of Cancel
NextCode:
  myPath = myPath
  If myPath = "" Then Exit Sub

'Target File Extension (must include wildcard "*")
  myExtension = "*.xls"

'Target Path with Ending Extention
  myFile = Dir(myPath & myExtension)

'Loop through each Excel file in folder
  Do While myFile <> ""
    'Set variable equal to opened workbook
      Set wb = Workbooks.Open(Filename:=myPath & myFile)

    'Refresh the workbook
      wb.refreshall

    'Save and Close Workbook
      wb.Close SaveChanges:=True

    'Get next file name
      myFile = Dir
  Loop

'Message Box when tasks are completed
  MsgBox "Task Complete!"

'Reset Macro Optimization Settings
  Application.ScreenUpdating = True
  Application.EnableEvents = True
  Application.Calculation = xlCalculationAutomatic

End Sub