在单元格文本(VB)中查找字符串

时间:2019-03-24 16:26:25

标签: excel vba string

我正在工作表内循环行,我想在某些文本内找到字符串:

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中。

2 个答案:

答案 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