У меня есть макрос, который я использую время от времени. Он успешно удаляет столбцы, которые мне нужны, но не сортирует столбцы так, как я хочу. Когда я отлаживаю VBA, я вижу, что он ссылается на исходную электронную таблицу Excel, которую я использовал для создания макроса.
Когда я воспроизводю этот макрос на другом листе в том же файле, который идентичен оригиналу, ничего не происходит.
Какие изменения мне нужно внести в VBA, чтобы это работало на любом листе?
Вот VBA:
Sub HF_weekly_file()
'
' HF_weekly_file Macro
'
'
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Columns("C:N").Select
Selection.Delete Shift:=xlToLeft
Columns("D:H").Select
Selection.Delete Shift:=xlToLeft
Columns("J:Q").Select
Selection.Delete Shift:=xlToLeft
Columns("L:Y").Select
Selection.Delete Shift:=xlToLeft
Columns("M:M").Select
Selection.Delete Shift:=xlToLeft
Range("A2").Select
ActiveWorkbook.Worksheets("Leads_1464523080").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Leads_1464523080").Sort.SortFields.Add Key:=Range( _
"F2:F73"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Leads_1464523080").Sort.SortFields.Add Key:=Range( _
"G2:G73"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Leads_1464523080").Sort.SortFields.Add Key:=Range( _
"D2:D73"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Leads_1464523080").Sort.SortFields.Add Key:=Range( _
"I2:I73"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Leads_1464523080").Sort
.SetRange Range("A1:M73")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub