0
У меня есть рабочий лист с 5 Access
Запросы, которые я втянул в Excel. Мне нужно сделать VBA для цикла через 5 таблиц и обновлять их каждый раз, когда он запускается. Однако мой код, похоже, не выполняется, и он просто пропускает цикл. Может кто-то указать мне в правильном направлении. Благодаря!Обновление запросов с помощью vba
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
UnlockSheets
' Update the raw data queries for needed information
Worksheets("Data").Activate
Range("A:AR").EntireColumn.Hidden = False
Dim QT As QueryTables
Dim ws As Worksheet
Set ws = Worksheets("Data")
For Each QT In ws.QueryTables
QT.Refresh
Next QT
Application.StatusBar = False
Range("A:AR").EntireColumn.Hidden = True
' Refresh the pivot tables in the worksheet "pivot"
Worksheets("Pivot").Activate
Dim pvtTbl As PivotTable
For Each pvtTbl In ActiveSheet.PivotTables
pvtTbl.RefreshTable
Next
' Update the rank sheet with the needed information
Worksheets("Rank").Activate
ActiveSheet.Calculate
ActiveSheet.EnableCalculations = True
DoEvents
LockSheets
Application.ScreenUpdating = True
End Sub
Должно быть 'QT как QueryTable' единственное, у вас это как множественное число. Попробуйте это, посмотрите, исправляет ли это это. – CBRF23
Я пытался это сделать, но ничего не работает. Он просто пропускает цикл. – Mukul215
Когда я пытаюсь вручную обновить таблицу с помощью «ActiveWorkbook.Worksheets (« Данные »). Range (« Таблица_Report_Database.accdb_2 [[# Headers], [Date]] »). QueryTable.Refresh BackgroundQuery: = False' Я получаю 'Ошибка времени выполнения 1004: Определенная пользователем или объектная ошибка' – Mukul215