Так что это буквально первый раз, когда я пытался создать макрос в Excel, поэтому интересно, может ли кто-нибудь мне помочь.У меня есть электронная таблица, которая состоит из нескольких страниц, с несколькими различными, но похожими наборами данных.Различные наборы данных предназначены для разных клиентов, и мне нужно держать их отдельно, но я хотел бы создать макрос для организации различных наборов данных по столбцу B, а затем по столбцу D. Я начал с этого макроса:
Sub Sort_Twice()
'
' Sort_Twice Macro
'
'
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B2:B12") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D2:D12") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:G12")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Так что все будет отсортировано между A1 и G12, потому что это то, что я выделил, когда начал записывать.Любое предложение о том, как мне разрешить выделять новый блок и запускать макрос только на этих полях?Единственное, что я могу найти, это сказать, чтобы поменять ячейки, перечисленные здесь в рейнджерах, но это кажется очень противоречащим тому, что я пытаюсь сделать.