我在c# How to Select all the cells in a worksheet in Excel.Range object of c#?中找到了这个问题的类似解决方案。
在VBA中执行此操作的过程是什么?
我通常通过使用"ctrl+shift over arrow,down arrow“来选择整个单元格区域来选择数据。例如,当我在宏中运行它时,它会输出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中有没有办法获得文档中最后一个单元格的位置?
发布于 2013-07-31 03:17:41
我相信你想要找到A1的当前区域和周围的单元格-不一定是工作表上的所有单元格。如果是这样的话-只需使用...Range("A1").CurrentRegion
发布于 2013-07-31 03:11:26
您可以简单地使用cells.select
选择工作表中的所有单元格。你可以通过说Range(Cells.Address)
来获取一个有效的地址。
如果您想要查找在其中进行了一些格式更改或输入值的最后一个Used Range
,您可以调用ActiveSheet.UsedRange
并从那里选择它。希望这能有所帮助
发布于 2015-04-15 19:47:36
您可以将所有单元格用作对象,如下所示:
Dim x as Range
Set x = Worksheets("Sheet name").Cells
X现在是一个包含整个工作表的range对象
https://stackoverflow.com/questions/17955030
复制相似问题