Select 列中最后一个单元格有空格
Select last cell in a column with blanks
我正在尝试查找填充有 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
我不确定这是否是您要查找的内容
这是我用来获取最后一行的方法;只需给它一个列和一个 sheet.
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
我正在尝试查找填充有 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
我不确定这是否是您要查找的内容
这是我用来获取最后一行的方法;只需给它一个列和一个 sheet.
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