Я запускаю ежемесячный отчет, который генерирует 16 вкладок (15 листов: «Отчет1» - «Отчет15»). Я создал подпрограмму для создания / форматирования таблицы и организации данных на Листе 2 («Отчет1»).
Цель: из-за стиля таблицы теперь я хотел бы l oop макрос только через «Report1», «Report4», «Report7», «Report10», «Report13».
(Как только я это выясню, я создам макрос с другим стилем таблицы для других таблиц. )
Проблемы: с помощью «Googling» я создал нижний L oop, но «Set ws = Worksheets (Report1») ws.active сбрасывает его. -Мне нужно удалить набор ws = worksheets (Report1 ")?
-У меня был ws.active, потому что макрос не работал без него.
Макрос:
Option Explicit
Sub LoopThroughSpecificWorksheets()
'Turn Off Screen Updates
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim wb As Workbook: Set wb = ActiveWorkbook
Dim ws As Worksheet
Dim LstObj As ListObjects
Dim LastRow As Long
Dim Report, i
Report = Array("Report1", "Report4", "Report7", "Report10", "Report13")
For i = LBound(Report) To unbound(Report)
With ws(Report(i))
Set ws = Worksheets("Report1")
ws.Activate
'...Body of Maco
'Insert Table
'Remove Table Format
'Apply Tablestyle:
'Apply a filter to $ Share for all Brands (Largest to Smallest)
'Update $ - % Chg formula
'Update Units - % Chg Formula
'Change Header Names and Resize
End With
Next i
'Turn On Screen Updates
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub