Я пытаюсь автофильтровать данные на листе с 7 столбцами перед копированием в другую книгу. Это должно использоваться для разных данных, каждый раз с разным количеством строк.
Проблема заключается в том, что когда он автофильтрует данные, он записывает количество строк, которое каждый раз отличается (см. Range («B1: B124»)) ниже, которое затем будет применено при следующем использовании
ChDir "F:\Work-Macro"
Workbooks.Open Filename:="F:\Work-Macro\usage.xls"
Cells.Select
With Selection.Font
.Name = "Calibri"
.Size = 10
End With
Range("D:E,I:L").Select
Range("I1").Activate
Selection.Delete Shift:=xlToLeft
Columns("A:F").Select
Range("F1").Activate
Selection.AutoFilter
ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add2 Key:= _
Range("B1:B124"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
должен быть способ динамического применения автофильтра без записи количества отфильтрованных строк