如何使用VBA选取整个Excel表格范围?

31

我在c#问题中找到了一个类似的解决方案:如何在c#的Excel.Range对象中选择整个工作表中的所有单元格?

那么在VBA中如何实现呢?

我通常使用“ctrl+shift向下箭头”来选择一个单元格范围。但是当我在宏中运行时,它会编码出A1:Q398247930,例如。 我需要的只是

.SetRange Range("A1:whenever I run out of rows and columns")

我本来可以很容易地自己完成它,而不需要使用宏,但我试图将整个过程制作成宏,并且这只是其中的一部分。

Sub sort()
    'sort Macro
    Range("B2").Select
    ActiveWorkbook.Worksheets("Master").sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Master").sort.SortFields.Add Key:=Range("B2"), _
      SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Master").sort
        .SetRange Range("A1:whenever I run out of rows and columns")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

编辑:
还有其他地方我可能想使用相同的代码,但范围是“C3:行和列的结束”。在VBA中有没有办法获取文档中最后一个单元格的位置?

11个回答

0
也许这个可以工作: Sh.Range("A1", Sh.Range("A" & Rows.Count).End(xlUp))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接