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
我正在尝试在单元格值中使用通配符搜索来查找内容。如果 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