vba 对单元格进行通配符搜索

vba wildcard search on cell

我正在尝试在单元格值中使用通配符搜索来查找内容。如果 sheet("FC")Range("I2:I" & LastRowC) 中的值 - 与 Sheets("Instr"),Range("A130:A190") 匹配。表示 sheet Instr 匹配,如果少数字符与上述其他范围匹配,则执行一些代码。

例如,在 sheet Instr 范围以上的单元格值是 "Ajith" 并且在 sheet FC 中,上述范围的单元格值之一是 "Aji" 代码应该识别它。

除了循环范围内的通配符搜索外,以下所有步骤对我来说都可以,请检查代码和范围(如有必要,请重命名 sheets,如下所示)并提供更新。

Sub Exception()

Dim mfc As Worksheet
Dim mfp As Worksheet
Dim mfo As Worksheet
Dim instr As Worksheet

Set mfc = Sheets("FC")
Set mfp = Sheets("FP")
Set mfo = Sheets("OSLR")
Set inst = Sheets("Instr")

Dim irng As Range
Dim icel As Range

Set irng = inst.Range("A130:A190")

Dim LastRowC As Long
LastRowC = mfc.Cells(Rows.Count, 1).End(xlUp).Row

Dim fcphr As Range
Dim fcphc As Range

Set fcphr = mfc.Range("I2:I" & LastRowC)

For Each icel In irng.Rows
For Each fcphc In fcphr.Rows

If icel.Value = "" Then
Exit For
End If
If fcphc.Value = "" Then
Exit For
End If

If fcphc.Value = icel.Value Then

    msgbox fcphc
    msgbox icel

    '***(i need a wild card search for the above step)***

End If

Next fcphc
Next icel


End Sub

您可以使用 Like 运算符。例如:

If fcphc.Value Like "*" & icel.Value & "*" Then

如果您希望比较双向工作:

If _
    fcphc.Value Like "*" & icel.Value & "*" Or _
    icel.Value Like "*" & fcphc.Value & "*" _
Then