代码之家  ›  专栏  ›  技术社区  ›  4est

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

  •  0
  • 4est  · 技术社区  · 6 年前

    我在工作表中循环行,我想在一些文本中查找字符串:

    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 回复  |  直到 6 年前
        1
  •  2
  •   Shai Rado    6 年前

    另一个选项,因为您正在添加通配符 * 在你的开始和结束 String ,用于 Instr 功能。

    If Instr(look_name, look_text) > 0 Then
    

    编辑1 :包含采购订单提供的文本

    If InStr("abcabc testa abcbc", "test") > 0 Then
        MsgBox "Instr Works"
    End If
    
        2
  •  1
  •   Vadim    6 年前

    我设法通过改变

    If look_name Like "*look_text*" Then
    

    If look_name Like "*" & look_text & "*" Then