我正在工作表内循环行,我想在某些文本内找到字符串:
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中。
答案 0 :(得分:2)
由于要在*
的开头和结尾添加通配符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
答案 1 :(得分:1)
我设法通过更改来解决问题
If look_name Like "*look_text*" Then
到
If look_name Like "*" & look_text & "*" Then