我想选择电子表格中的所有行和列。宏需要是动态的,因为每次调用宏时列数和行数往往会发生变化。它还需要能够考虑空白行和列。
该子程序完成部分过程:
Sub FindLastCell()
Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Select
End Sub
它查找并选择电子表格中的最后一个单元格。现在我已经找到电子表格中的最后一个单元格,如何选择单元格 A1 到 LastCell 作为范围?
您需要将这些 mods 添加到代码中
- 该表可能是空白的,所以你不应该使用
Select
with Find
因为如果“查找”不返回任何内容,则会出现错误。相反,测试范围对象Is Not Nothing
-
Find
可以按行和按列搜索。你需要确定both最后一行和最后一列以确定真正的最后使用的单元格
- 一旦你确定了最后一个电池的真正用途
Range
设置从第一个单元格 (A1) 到由两个单元格确定的单元格的范围Find
ranges
请看下面的代码
If the Find
获取一个值,然后生成一个范围rng3
从 A1 到两人识别的最后使用的单元格Find
s.
Sub GetRange()
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Set rng1 = Cells.Find("*", [a1], xlFormulas, , xlByRows, xlPrevious)
Set rng2 = Cells.Find("*", [a1], xlFormulas, , xlByColumns, xlPrevious)
If Not rng1 Is Nothing Then
Set rng3 = Range([a1], Cells(rng1.Row, rng2.Column))
MsgBox "Range is " & rng3.Address(0, 0)
'if you need to actual select the range (which is rare in VBA)
Application.Goto rng3
Else
MsgBox "sheet is blank", vbCritical
End If
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)