簡體   English   中英

Excel VBA-如果單元格以“ find”開頭,則返回另一個單元格的值

[英]Excel VBA - If cell begins with “find” then return value of a different cell

我有一個包含很多行的電子表格。 我想搜索N列中的每個單元格。如果該單元格以“ find”開頭(希望它不區分大小寫),則返回A列中的值(同一行)。 例。 如果N2以“查找”或“查找”或“查找”(或任何其他變體)開頭,則返回A2。 工作表是“ Master”,我希望它可以在其他工作表上運行。 我的Excel版本是2013。

下面將把A中的值打印到立即窗口。

Sub returnA()
    With Sheets("Master")
        For Each cell In .Range("N2:" & .Range("N2").End(xlDown).Address)
            If UCase(Left(cell.Value, 4)) = "FIND" Then
                Debug.Print .Cells(cell.Row, 1).Value
            End If
        Next
    End With
End Sub

在任何情況下,都將以'find'開頭返回所有行的A列中的值。 編輯 :已更新,以便它在Sheet1的N列中查找值,並將A列的結果粘貼到Sheet2的A列。

Sub Find()

    Dim rFoundAddress As Range
    Dim sFirstAddress As String
    Dim x As Long

    x = 1
    With ThisWorkbook.Worksheets("Sheet1").Columns(14)
        Set rFoundAddress = .Find("find*", LookIn:=xlValues, LookAt:=xlWhole)
        If Not rFoundAddress Is Nothing Then
            sFirstAddress = rFoundAddress.Address
            Do
                ThisWorkbook.Worksheets("Sheet2").Cells(x, 1) = .Cells(rFoundAddress.Row, 1)
                x = x + 1
                Set rFoundAddress = .FindNext(rFoundAddress)
            Loop While Not rFoundAddress Is Nothing And _
                rFoundAddress.Address <> sFirstAddress
        End If
    End With

End Sub

它將找到與這些匹配:

  • 找到這個
  • 找到這個
  • 找到這個

但找不到與以下項匹配的項:

  • 確認此

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM