Я пытаюсь отсортировать диапазон, чтобы столбцы были расположены в алфавитном порядке.
Следующий код выбирает нужный диапазон, но не меняет порядок столбцов.
Я искал другие примеры, но все они относятся к упорядочению содержимого столбца (например, сортировка строк). Я хочу переставить сами столбцы.
Следующий скрипт выдает ошибку
Нижний индекс выходит за пределы диапазона
в начале строки 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