Сортировка с помощью макроса

У меня есть электронная таблица с 8 столбцами данных. (Строка 1 содержит заголовки).

Я пытаюсь записать макрос, который потом не нужно редактировать.

Я нажимаю запись макроса, я выделяю мои данные, я иду на вкладку Данные и выберите сортировать. Затем я продолжаю сортировать данные в порядке убывания по значению столбца D. Я нажимаю остановить запись макроса.

когда я играю этот макрос на том же листе, он работает хорошо. При воспроизведении этого макроса на другом листе в том же файле, который идентичен orniginal, ничего не происходит.

Как я могу записать макрос, чтобы сделать то, что я хотел бы без редактирования макросов в VBA?

Спасибо за помощь.

Sub Macro1()
'
' Macro1 Macro
'

'
    Cells.Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D2:D1316" _
        ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:H1316")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
5
задан Joe
06.03.2023 2:30 Количество просмотров материала 2789
Распечатать страницу

1 ответ

это будет сортировать так же для вас.

в основном, вы используете две переменные, чтобы определить данные, которые вы хотите отсортировать, и ключ, который вы сортируете. Затем выполняется сортировка с использованием переменных. Это довольно просто, но это должно дать вам некоторое представление о написании собственного кода.

например, если вы хотите отсортировать по двум ключам, вы можете использовать key2, etc.

Sub Joe()

'Define the variables
Dim rngData As Range
Dim rngKey As Range

'Set the variables
Set rngData = Range("A:H")
Set rngKey = Range("D1")

'Perform the Sort
rngData.Sort key1:=rngKey, order1:=xlDescending, Header:=xlYes

End Sub
1
отвечен Raystafarian 2023-03-07 10:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх