- Код: Выделить всё
Sub sortirovka()
Dim M As Integer
Dim i As Integer
Dim OPJ As String
M = 0
Do
OPJ = Sheets("page").Cells(5 + M, 1)
M = M + 1
Loop Until OPJ = ""
M = M - 1
Rows("5:" & CStr(M + (5 - 1))).Select
Selection.Sort Key1:=Range("B5"), Order1:=xlAscending, Key2:=Range("AR5") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
M = 0
i = 1
Do
OPJ = Sheets("page").Cells(5 + M, 1)
If OPJ = "" Then
GoTo M1
Else
Sheets("page").Cells(5 + M, 1) = i
M = M + 1
End If
i = i + 1
Loop Until OPJ = ""
M1:
End Sub
Прекрасно работает из листа на котором должна происходить сортировка, для общего случая переписываю так:
- Код: Выделить всё
sheets("page").Range("A5:AR5" & CStr(M + (5 - 1))).Sort Key1:=Range("B5"), Order1:=xlAscending, Key2:=Range("AR5") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Теперь уже выделяем не строки а диапазон ячеек - для меня это не критично.
опять же при запуске с сортируемого листа работает, при запуске того же кода с другого листа или из woorkbook получаем:
"ошибка 1004 Не допустимая ссылка для сортировки..."
Расскажите пожалуйста в чем моя ошибка!