Индекс вне диапазона в начале строки wb.Worksheets ("ws"). Сортировка - PullRequest
1 голос
/ 10 октября 2019

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

Следующий код выбирает нужный диапазон, но не меняет порядок столбцов.

Я искал другие примеры, но все они относятся к упорядочению содержимого столбца (например, сортировка строк). Я хочу переставить сами столбцы.

Следующий скрипт выдает ошибку

Нижний индекс выходит за пределы диапазона

в начале строки wb.Worksheets("ws").Sort.

Sub AITransaction()

Dim wb As Workbook
Dim ws As Worksheet
Dim lastrow As Integer

Set wb = ActiveWorkbook
Set ws = ActiveSheet

lastrow = ws.Cells(Rows.Count, 1).End(xlUp).row

wb.Worksheets("ws").Sort.SortFields.Add2 Key:=Range("A1:E1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

With wb.Worksheets("ws").Sort
    .SetRange ws.Range("A1:E" & lastrow)
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlLeftToRight
    .SortMethod = xlPinYin
    .Apply
End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...