选择具有空白的列中的最后一个单元格

时间:2015-02-27 15:51:49

标签: excel vba excel-vba range

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

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

3 个答案:

答案 0 :(得分:4)

我不确定这是否是您正在寻找的

这是我用来获取最后一行的内容;只需给它一个列和一张表。

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

答案 1 :(得分:0)

使用查找

这将适用于ActiveSheet

Dim lngLastRow as Long

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

答案 2 :(得分:0)

这对你有用

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
相关问题