[英]Search two columns in Microsoft excel 2013 and set the value of a third column with a specific value
我要搜索一個特定的文本這是firstname_lastname
如John_Smith
在worksheetA
。 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.