为什么VBA无法对该范围进行排序?

时间:2018-11-27 21:22:48

标签: excel vba

我具有以下范围(显然不是我的,而是MWE):

excel range description

我正在寻找使用VBA对其进行排序的方法。这是我的代码:

Sub test()
    LR = ActiveWorkbook.Sheets(1).UsedRange.Rows.Count + ActiveSheet.UsedRange.Rows(1).Row - 1

    Dim ws As Worksheet
    Dim sort_range As Range

    Set ws = ActiveWorksheet.Worksheets(1)
    Set sort_range = ws.Range("C$2$:$E$" & LR)

    Call sort_range.Sort(Key1:=sl_ws.Range("$C$2"), Order1:=xlAscending, _
                            Key2:=sl_ws.Range("$D$2"), Order2:=xlAscending, _
                            Key3:=sl_ws.Range("$E$2"), Order3:=xlAscending, _
                            Header:=xlYes)
End Sub

这将返回以下错误:

error

将我定向到此行:

    Set sort_range = ws.Range("C$2$:$E$" & LR)

我在做什么错?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:4)

Range("C$2$:$E$" & LR)-美元符号放置在错误的位置-应该为Range("$C$2:$E$" & LR)