用空格select列中的最后一个单元格

我正在尝试查找在VBA中填充数据的列中的最后一个单元格。 问题是,在范围内,有空白单元格。 如果有空白,有没有办法select带数据的最后一个单元? 任何帮助将不胜感激! 我已经粘贴了下面的范围定义。

If Range("BL2") <> "" Or Range("BM2") <> "" Then Set usr11 = Range("BL:BL") Set usr12 = Range("BM:BM") 

使用查找

这将在ActiveSheet上工作

 Dim lngLastRow as Long 'If column is A lngLastRow = Columns(1).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 

我不确定这是不是你要找的

这是我用来得到最后一行; 给它一个专栏和一张表。

 Function getLastRow(sheet As String, Col As Variant) As Integer getLastRow = Sheets(sheet).Cells(Sheets(sheet).Rows.Count, Col).End(xlUp).row End Function 

那么你可以像这样使用它:

 Range("A" & getLastRow(ActiveSheet,"A")).Select 'Select the last row in column A 

用数据获取最后一列的类似函数:

 Function getLastCol(sheet As String, row As Variant) As Integer getLastCol = Sheets(sheet).Cells(row, Sheets(sheet).Columns.Count).End(xlToLeft).Column End Function 

这将为你工作

 Sub SelectBlank() Dim lastRow As Long: lastRow = Range("A1").End(xlDown).Row 'change to whatever column you have Dim i As Long For i = 1 To lastRow If Range("A" & i).Value = "" Then Range("A" & i).Select Exit For End If Next i End Sub