在Excel列中搜索单个单词

时间:2018-03-15 18:05:26

标签: excel

我有一个Excel文件,其中包含一个带有名称的列。我正在尝试编写一个宏,以便在搜索列时获取具有该名称的每个记录。我遇到的问题是在单个单元格中可能有1,2或甚至更多的名称(即我正在搜索“DAVE”,但在单个单元格中可能有“DAVE”“ANDY”“FRANK”) 。目前我的代码正在拾取所有只有“DAVE”的记录,但是如果一个单元格有“DAVE”和任何其他名称,它就不会拿起它。有没有办法对我的宏进行编码,以便它能够找到我缺少的那些?

目前这是我的if语句:

If WsG.Cells(G_Row, 2).Value = "DAVE" Then
   WsG.Rows(G_Row).EntireRow.Copy Destination:=Ws2.Rows(S2_Row)
   S2_Row = S2_Row + 1
End If

所以我正在寻找WsG,第2栏为“DAVE”。然后,尝试将该行复制到新工作表。

2 个答案:

答案 0 :(得分:0)

使用Like命令:

WsG.Cells(G_Row, 2).Value Like "*DAVE*"

答案 1 :(得分:0)

替代方式,使用InStr Function

If InStr(1, WsG.Cells(G_Row, 2).Value, "DAVE", vbTextCompare) > 0 Then