簡體   English   中英

在Microsoft Excel 2013中搜索兩列,並使用特定值設置第三列的值

[英]Search two columns in Microsoft excel 2013 and set the value of a third column with a specific value

我要搜索一個特定的文本這是firstname_lastnameJohn_SmithworksheetA WorksheetA有一欄firstname與另一列lastname 因此,在知道哪一行具有我要搜索的名字和姓氏之后,我想用特定值設置同一行中單元格的值。

例如,如果這是我的工作表:

Firstname     Lastname     Found
Matt          Damon        No
Smith         Andrew       No
John          Smith        No
Tom           Mark         No

我的搜索詞是John_Smith ,結果將是

Firstname     Lastname     Found
Matt          Damon        No
Smith         Andrew       No
John          Smith        Yes
Tom           Mark         No

有什么建議請問如何在VBA excel中做到這一點?

有很多方法可以做到這一點。 因為您似乎實際上想要第三列實際上是“是” /“否”,所以這很簡單。 假設您的搜索詞在E2中(以FIRSTNAME_LASTNAME的形式),只需將其放在單元格C2中並向下拖動:

=IF(A2&"_"&B2=$E$2,"Yes","No")

然后,您可以添加一個新列,以檢查C列中的該行是否為“是”,如果是,則在其中添加值。 或者,已經用您的特殊值替換“是”。

這是一個示例,將字符串拆分為兩個單獨的字符串。 然后遍歷范圍。

設置 在此處輸入圖片說明

編碼

Sub Button1_Click()
    Dim e As String, a As String, b As String
    Dim Rws As Long, rng As Range, c As Range

    Rws = Cells(Rows.Count, "A").End(xlUp).Row
    Set rng = Range(Cells(2, 1), Cells(Rws, 1))

    e = Range("E1")
    a = Left(e, InStr(e, "_") - 1)
    b = Right(e, InStr(e, "_"))

    For Each c In rng.Cells
        If c = a And c.Offset(0, 1) = b Then c.Offset(0, 2) = "Yes"
    Next c

End Sub

結果

在此處輸入圖片說明

暫無
暫無

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

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