Excel VBA – select范围为完全空白行
我有一些VBA代码,需要select范围从A84到X.我使用这段代码来select数据的最后一行的范围。
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来判断行是否为空?
简单地设置Lastrow
到
Lastrow = Range("A:Z").Find("*", , , , xlByRows, xlPrevious).Row
我只能肯定有一个更好的方法,但是一个这样的方法是循环遍历你的列,find每一列的最后一行,然后确定哪一个是最大的。
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
就是你想要的。
您可以遍历所有列并比较每列的最后一行。 您可以随时更改lastRowvariables,只要find具有更多行的列,如下所示:
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
您可以使用usedrange函数,它返回您的工作表上使用的单元格的完整范围:,如下所示:
工作表( “worksheetName”)。UsedRange.lastRow
这会给你最后一个使用的行,而不仅仅是第一列数据的最后一行