📜  vba 查找特定条件范围内的最后一行 - VBA (1)

📅  最后修改于: 2023-12-03 15:20:57.817000             🧑  作者: Mango

VBA 查找特定条件范围内的最后一行

在 VBA 中,我们经常需要查找特定条件下某个范围内的最后一行。这在处理数据表格或工作簿时非常常见。下面是一个使用 VBA 在特定条件范围内查找最后一行的例子:

Sub FindLastRowWithCondition()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim searchRange As Range
    Dim searchValue As Variant
    
    ' 设置工作表和搜索条件
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    searchValue = "apple"
    
    ' 确定要搜索的范围,这里假设数据在 A 列
    Set searchRange = ws.Range("A1:A" & ws.Cells(Rows.Count, 1).End(xlUp).Row)
    
    ' 循环搜索范围内的每行,找到最后一个匹配条件的行
    For lastRow = searchRange.Rows.Count To 1 Step -1
        If searchRange.Cells(lastRow, 1).Value = searchValue Then
            Exit For
        End If
    Next lastRow
    
    ' 输出结果
    If lastRow > 0 Then
        Debug.Print "最后一个匹配条件的行:" & lastRow
    Else
        Debug.Print "没有找到匹配条件的行"
    End If
End Sub

上述代码中,我们首先设置了要搜索的工作表(ws)和搜索条件(searchValue)。然后,我们通过确定数据列 A 的范围来设置搜索范围(searchRange)。接下来,我们从搜索范围的最后一行开始向上循环,直到找到最后一个匹配条件的行。在循环内,我们通过比较单元格的值与搜索条件来确定匹配。最后,我们输出结果到 Immediate 窗口。

请记得将例子中的工作表和搜索条件更改为你实际需要的值。此外,你还可以根据自己的需求修改代码。

希望这个例子对你有帮助!