Excel 使用类似通配符的字符串比较不起作用

Excel 使用类似通配符的字符串比较不起作用,excel,wildcard,sql-like,vba,Excel,Wildcard,Sql Like,Vba,我在B列的一些单元格中有数据,看起来像是Id加上一些数字,例如'Id#85' 所有其他单元格中都有名字FirstName LastName 我需要找到其中有Id的单元格,我正在尝试以下操作,但不起作用 谢谢 Sub test() Dim ws As Worksheet Dim i As Long Set ws = ThisWorkbook.Sheets("Elements") With ws For i = 2 To 180 If .Cells(i, "B").Text

我在B列的一些单元格中有数据,看起来像是Id加上一些数字,例如'Id#85'

所有其他单元格中都有名字FirstName LastName

我需要找到其中有Id的单元格,我正在尝试以下操作,但不起作用

谢谢

Sub test()
Dim ws As Worksheet
Dim i As Long

  Set ws = ThisWorkbook.Sheets("Elements")

  With ws
  For i = 2 To 180
    If .Cells(i, "B").Text Like "Id#" & "*" Then Do something
  Next i
End With

End Sub
试试这个:

Sub test()
    Dim ws As Worksheet
    Dim i As Long
    Set ws = ThisWorkbook.Sheets("Elements")

    With ws
        For i = 2 To 180
            If Left(.Cells(i, "B").Text, 3) = "Id#" Then
                .Cells(i, "C").Value = True
            End If
        Next i
    End With
End Sub

你试过安装吗?你的图表中ID是大写的吗
Like
默认为
compare binary
,如果比较“ID*”和“ID*”,则返回false。如果不希望比较区分大小写,请使用
选项Compare Text
。此外,您可能希望使用
.Value
.Value2
而不是使用
.Text
.Text
如果单元格的内容太长而无法在屏幕上显示,则会返回不可靠的值。我刚刚了解到,
不使用
*
本身就是一个通配符。仅使用
*