我有一些VBA代码需要选择从A84到X的范围。我正在使用此代码选择该范围到数据的最后一行。
Dim Lastrow As Integer
Lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range("A84:X" & Lastrow).Select
在第一行停止,A列中有一个空白单元格。我需要它来检查A到Z列,而不仅仅是A.例如,如果第84行到第94行的A列中有值,但对于第95行,只有F或R列中的数据,它将不包括第95行。如何查看A:Z列以确定该行是否为空?
答案 0 :(得分:2)
只需将Lastrow
设置为
Lastrow = Range("A:Z").Find("*", , , , xlByRows, xlPrevious).Row
答案 1 :(得分:0)
我几乎可以肯定有一种更好的方法,但是有一种方法是遍历你的列并找到每一列的最后一行,然后确定哪一行是最好的。
maxRow = 0
for i=1 to 24 'A through X
if maxRow < ActiveSheet.Cells(Rows.Count, i).End(xlUp).Row then
maxRow = ActiveSheet.Cells(Rows.Count, i).End(xlUp).Row
end if
next i
然后maxRow
就是你想要的lastrow
。
答案 2 :(得分:0)
您可以遍历所有列并比较每列的最后一行。然后,只要找到包含更多行的列,就可以更改lastRow变量:
Dim i As Integer
Dim lastRow As Integer
lastRow = 1
For i = 1 To 26
Dim lst As Integer
lst = Cells(Rows.Count, i).End(xlUp).Row
If lst > lastRow Then
lastRow = lst
End If
Next
Range("A84:X" & lastRow).Select
答案 3 :(得分:0)
您可以使用usedrange函数,该函数返回工作表中使用过的单元格的完整范围:,如下所示:
工作表(“worksheetName”)。UsedRange.lastRow
这将为您提供最后一个使用的行,而不仅仅是第一列中包含数据的最后一行