VBA: сортировка листов с помощью макроса - PullRequest
0 голосов
/ 20 ноября 2018

Как показано на этом изображении

This is a picture of the error

мой синтаксис сортировки неверен, и я не понимаю, почему.Я получаю ошибку времени выполнения 1004: «Ссылка на сортировку недопустима. Убедитесь, что она находится в данных, которые вы хотите отсортировать, и первая сортировка по полю не совпадает или не пуста» *

Sub Sort()
'
' Sort Macro

Dim rowNum As Variant

Dim columnNum As Variant
Dim sortField As Range
Dim keySort As Range

rowNum = Worksheets("Updated 1.0").Range("A1").End(xlDown).row
MsgBox (rowNum)

columnNum = Worksheets("Updated 1.0").Range("A1").End(xlToRight).column
MsgBox (columnNum)

With Worksheets("Updated 1.0")
    Set sortField = Range(.Cells(2, 1), .Cells(rowNum, columnNum))
    Set keySort = Range("A1")
    sortField.Sort Key1:=keySort, Order1:=xlDescending, MatchCase:=False, 
Orientation:=xlSortRows

End With

1 Ответ

0 голосов
/ 20 ноября 2018

Вы пропустили немного . внутри With, но я думаю, что сортировка была неправильной.

Это сработало для меня:

Sub Sort()

    Dim sht As Worksheet
    Dim sortField As Range
    Dim keySort As Range

    Set sht = Worksheets("Updated 1.0")

    With sht
        Set sortField = .Range("A1").CurrentRegion
        Set keySort = .Range("A1")
        sortField.Sort Key1:=keySort, Order1:=xlDescending, MatchCase:=False, _
                       Orientation:=xlSortRows
    End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...