Я использую следующий макрос для разделения электронной таблицы и сохранения разделений в отдельные файлы:
Sub DistributeRows()
Dim wbNew As Workbook
Dim wsData As Worksheet
Dim wsCrit As Worksheet
Dim wsNew As Worksheet
Dim rngCrit As Range
Dim LastRow As Long
Set wsData = Worksheets("Sheet1")
Set wsCrit = Worksheets.Add
LastRow = wsData.Range("A" & Rows.Count).End(xlUp).Row
wsData.Range("A1:A" & LastRow).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wsCrit.Range("A1"), Unique:=True
Set rngCrit = wsCrit.Range("A2")
While rngCrit.Value <> ""
Set wsNew = Worksheets.Add
wsData.Range("A1:AB" & LastRow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rngCrit.Offset(-1).Resize(2), CopyToRange:=wsNew.Range("A1"), Unique:=True
wsNew.Name = rngCrit
wsNew.Copy
Set wbNew = ActiveWorkbook
wbNew.SaveAs "C:\Users\nahansen\Desktop\Tornstrom Reports\MMGS" & "\" & wsNew.Range("B2") & "\" & rngCrit & " - " & "December 2018"
wbNew.Close SaveChanges:=True
Application.DisplayAlerts = False
wsNew.Delete
rngCrit.EntireRow.Delete
Set rngCrit = wsCrit.Range("A2")
Wend
wsCrit.Delete
Application.DisplayAlerts = True
End Sub
Я хочу добавить некоторый код в цикл while, который будет форматировать данные в виде таблицы, например, Medium 15. Я знаю, что код должен идти в цикле перед оператором сохранения, но я не смог понять это, так как я действительно новичок в VBA, и я модифицирую макрос, который сделал кто-то другой, и мы только что использовали rote. Цель состоит в том, чтобы сделать так, чтобы нам не приходилось вручную открывать сотни файлов Excel и нажимать кнопку «Формат в виде таблицы».
Любые предложения будут великолепны.