我在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中有没有办法获取文档中最后一个单元格的位置?