2015-07-14 6 views
0
Cells.Sort Key1:=Range(rng1), Order1:=xlAscending, Key2:=Range(rng2) _ 
    , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:= _ 
    False, Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers, DataOption2 _ 
    :=xlSortNormal 

Это ошибка, вызванная ошибкой приложения или ошибкой объекта.Ошибка определения приложения или объекта. Ошибка времени выполнения 1004

+0

Вы не указали достаточно кода. Что такое 'rng1'? Что такое 'rng2'? Что такое «ячейки»? Вы пропустили объявление и назначение этих критических компонентов. – Jeeped

ответ

0

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

dim rng1 as range, rng2 as range 

With ActiveSheet '<-set this properly as With Sheets("Sheet1") 
    set rng1 = .Range("A1") 'Top cell of the primary sort key 
    set rng2 = .Range("B1") 'Top cell of the secondary sort key 
    With .Range("A1").CurrentRegion  '<-sort the 'island' of data that surrounds A1 (with a header) 
     .Cells.Sort Key1:=rng1, Order1:=xlAscending, _ 
        Key2:=rng2, Order2:=xlAscending, _ 
        Orientation:=xlTopToBottom, Header:=xlYes 
    End With 
End With 
Смежные вопросы