+-
我已经找到了用于查找工作表中最后一个包含数据的行的方法:
ws.Range("A65536").End(xlUp).row
是否有类似的方法来查找工作表中最后一个包含数据的列?
88
投票
投票
很多方法。最可靠的是找到。
Dim rLastCell As Range
Set rLastCell = ws.Cells.Find(What:="*", After:=ws.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
MsgBox ("The last used column is: " & rLastCell.Column)
如果要查找特定行中使用的最后一列,可以使用:
Dim lColumn As Long
lColumn = ws.Cells(1, Columns.Count).End(xlToLeft).Column
使用使用范围(较不可靠):
Dim lColumn As Long
lColumn = ws.UsedRange.Columns.Count
如果您在A列中没有数据,则无法使用已用范围。请参见此处以了解已用范围的另一个问题:
关于重设使用范围,请参见Here。>>
15
投票
投票
[我知道这很旧,但是我已经通过很多方式对其进行了测试,并且它还没有让我失望,除非有人可以告诉我。
2
投票
投票
在激活工作表后尝试使用代码:
2
投票
投票
我认为我们可以修改以上UsedRange
答案中的@Readify's代码,以获取最后使用的列,即使起始列是否为空白。
0
投票
投票
这里可能有用。基于包含数据的行选择整个列,在这种情况下,我使用的是第5行: