Это может быть такой дублирующий вопрос с:
VBA Sort AZ по одной колонке
Однако я хочу уточнить материал.
Я пытался использовать этот код для своих целей:
Sub SortAsc2()
Dim LastRow As Long
LastRow = Cells(Rows.Count, "M").End(xlUp).Row
'Columns("D:D").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("D2:D" & LastRow)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
, где я получил сообщение об ошибке:
1004 Ошибка метода Range для object_Global
Я попробовал другой код тогда
Sub SortDataWithoutHeader()
Range("D1:D12").Sort Key1:=Range("D1"), Order1:=xlAscending, Header:=xlNo
End Sub
Но сортировка происходит только внутри столбца, тогда как другие данные не затрагиваются. Я хочу получить значения из других ячеек, соответствующих сортировке данных.
Кто-нибудь может помочь?