我有一个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”。然后,尝试将该行复制到新工作表。
答案 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