我在工作表内循环行,我想在一些文本中找到字符串:
lr = ws.Cells(Rows.Count, "A").End(xlUp).Row
lrk = wsK.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lr --looping list
look_name = UCase(ws.Range("E" & i).Value)
For j = 2 To lrk --loop patern value
look_text = UCase(wsK.Range("A" & j).Value)
If look_name Like "*look_text*" Then --if found
ws.Range("AB" & i) = wsK.Range("B" & j).Value --to do
Exit For
End If
Next j
Next i
我认为我对"*look_text*"
做错了什么
如果look_name = "New city"
和look_text = "city"
,则不会进入IF。
另一种选择,因为您要在String
的开头和结尾添加通配符*
,是使用Instr
函数。
If Instr(look_name, look_text) > 0 Then
编辑 1:使用从 PO 提供的文本
If InStr("abcabc testa abcbc", "test") > 0 Then
MsgBox "Instr Works"
End If
我设法通过更改来解决问题
If look_name Like "*look_text*" Then
自
If look_name Like "*" & look_text & "*" Then