首页 > 解决方案 > 如何修改此代码以引用不同工作表中的单元格

问题描述

Sub SortDataWithoutHeader()
Range("A1", Range("A1").End(xlDown)).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo
End Sub

我的界面按钮在一个名为“工具”的工作表中,正在操作的数据在一个名为“数据”的工作表中

标签: excelvba

解决方案


像这样的东西。With声明可以在这里有所帮助。Range请注意块中每个、CellsRowscall之前的句点With。期间是实际引用所必需的ws,这是您想要的工作表。

Sub SortDataWithoutHeader()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Data")
    
    With ws
        Dim lastRow As Long
        lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        
        .Range("A1:A" & lastRow).Sort Key1:=.Range("A1"), Order1:=xlAscending, Header:=xlNo
    End With
End Sub

推荐阅读