查找与其他字符一起键入的特定string
我试图validation一个数字(7)或string('7')是否存在于其中一列,并且如果他们确实返回一个消息框。 例如,请考虑以下数据:
Name Cod A 7 A 3 B 4 C 7;3 D 7 3 D 7, 3 F 7 - 3 F 5
我可以在Cod列中find数字7,但不能检查它是否与其他数字和符号(如逗号,短划线,分号等)一起出现。以下代码适用于单元格B2:
Dim N As Range Sub Find_7_string() msg = "" For Each N In Range("A2", Range("A2").End(xlDown)) If N.Offset(, 1) = 7 Then msg = msg & "There should not be 7 in column Cod" & vbLf Exit For End If Next N If Len(msg) > 1 Then MsgBox msg End If End Sub
但它不适用于单元格B5,B6,B7和B8。
如果字符是与其他字符一起键入的字符,我怎样才能validation字符“7”?
你可以使用Instr
函数,像这样:
Sub Find_7_string() Dim N As Range Dim msg As String msg = "" For Each N In Range("A2", Range("A2").End(xlDown)) If InStr(N.Offset(, 1), 7) Then msg = msg & "There should not be 7 in column Cod" & vbLf Exit For End If Next N If Len(msg) > 1 Then MsgBox msg End If End Sub
请注意,也是会发现77,7382等
手册
- 数据 ….. 筛选器
- 点击Filter下拉菜单
- 号码pipe理员 …… 自定义filter
- 包含
7
Or
等于7
VBA
Sub Findem() Dim rng1 As Range ActiveSheet.AutoFilterMode = False Set rng1 = Range([b1], Cells(Rows.Count, "B").End(xlUp)) rng1.AutoFilter Field:=1, Criteria1:="=*7*", Operator:=xlOr, Criteria2:="=7" End Sub