如何在VBA中使用宏选择整个Excel表?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

我在C#中找到了类似的解决方案。

有谁在VBA中有这样的代码片段吗?我不太熟悉VBA,所以这会有帮助。到目前为止.

我通常通过使用“ctrl+Shift over箭头,down箭头”来选择整个单元格范围来选择数据。例如,当我在宏中运行此代码时,它将输出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中是否有一种方法可以获得文档中最后一个单元格的位置?

提问于
用户回答回答于

我相信你想要找到A1和周围区的当前区域--不一定所有的单元格都在工作表上。如果是的话-就用范围(“A1”).

用户回答回答于

可以简单地使用cells.select选择工作表中的单元格。可以通过以下方式获得一个有效的地址Range(Cells.Address).

如果你想找到最后一个Used Range在其中进行了一些格式化更改或在其中输入了一个值,可以调用ActiveSheet.UsedRange然后从那里选择。希望这有帮助

扫码关注云+社区