【问题标题】:VBA Sorting Desc across multiple sheets in one code snippetVBA 在一个代码段中跨多个工作表排序描述
【发布时间】:2021-06-12 22:38:42
【问题描述】:

我有下面的代码,它可以单独运行,但是如果我尝试一次运行多个工作表,它会生成 运行时错误“1004”:无法获取 Range 类的 CurrentRegion 属性 错误。

这里不是专家,但我认为这与代码中的CurrentRegion有关,并且似乎与是否能够过滤列有关。

有什么想法或巧妙的方法来解决这个问题吗?

Sub SorterPorter()


With ThisWorkbook.Sheets("A").Range("a1").CurrentRegion
    .Sort Key1:=Range("I1"), Order1:=xlDescending, Header:=xlYes
End With


With ThisWorkbook.Sheets("B").Range("a1").CurrentRegion
    .Sort Key1:=Range("I1"), Order1:=xlDescending, Header:=xlYes
End With

With ThisWorkbook.Sheets("C").Range("a1").CurrentRegion
    .Sort Key1:=Range("R1"), Order1:=xlDescending, Header:=xlYes
End With

With ThisWorkbook.Sheets("D").Range("a1").CurrentRegion
    .Sort Key1:=Range("I1"), Order1:=xlDescending, Header:=xlYes
End With

End Sub

【问题讨论】:

    标签: excel vba sorting


    【解决方案1】:
    With ThisWorkbook.Sheets("A").Range("a1").CurrentRegion
        .Sort Key1:=Range("I1"), Order1:=xlDescending, Header:=xlYes
    End With
    

    应该是

    With ThisWorkbook.Sheets("A").Range("a1").CurrentRegion
        .Sort Key1:=.Range("I1"), Order1:=xlDescending, Header:=xlYes
    End With
    

    否则“键”范围的范围是 ActiveSheet,它可能不是您要排序的工作表。

    【讨论】:

      猜你喜欢
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      相关资源
      最近更新 更多