Ищете лучший определенный диапазон в Excel 2010?

Ищете помощь, чтобы сделать мой макрос более удобным для выбора. Excel – версия 2010 года.

ActiveWorkbook.Worksheets("AddressList").Sort.SortFields.Clear ActiveWorkbook.Worksheets("AddressList").Sort.SortFields.Add Key:=Range( _ "G2:G1374"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortTextAsNumbers With ActiveWorkbook.Worksheets("AddressList").Sort .SetRange Range("A1:J1374") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 

Вопрос: Как перейти от предопределенного диапазона (G2: G1374 и A1: J1374) к чему-то, основанному на столбцах и используемых ячейках?

Существуют лучшие способы кодирования метода Range.Sort . Использование свойства Range.CurrentRegion идеально подходит для ссылки на блок данных, исходящих из A1.

 with worksheets("AddressList") with .cells(1, 1).currentregion .Cells.Sort Key1:=.Columns(7), Order1:=xlAscending, _ Orientation:=xlTopToBottom, Header:=xlYes end with end with 

Вы можете использовать что-то вроде этого

 Dim mySheet as worksheet Set mySheet = Sheets("somePrettySheetName") with mySheet .range(.cells(row,column),.cells(row,Column)).someStuffToDo end with 

если вы не используете wana, вам нужно указывать листы все время, например

 mySheet.range(mySheet.cells(row,column),mySheet.cells(row,column)) 

примечание: строка и столбец могут быть числами, буквами и т. д.

Давайте будем гением компьютера.