在 Excel VBA 中使用通配符

Using wildcards in Excel VBA

我正在尝试在公式中使用通配符来计算 table 列中包含文本而非 ""

的单元格

我尝试了以下方法:

Dim g As Integer

g = Application.WorksheetFunction.CountIf(ThisWorkbook.Worksheets("ws1").ListObjects("Table1").ListColumns("ColumnA").DataBodyRange, ""*?"")
Dim g As Integer

g = Application.WorksheetFunction.CountIf(ThisWorkbook.Worksheets("ws1").ListObjects("Table1").ListColumns("ColumnA").DataBodyRange, ""~*?"")
g = Application.WorksheetFunction.CountIf(ThisWorkbook.Worksheets("ws1").ListObjects("Table1").ListColumns("Column1").DataBodyRange, Chr(34) & Chr(63) & Chr(42) & Chr(34))

久经考验:

Public Function not_qt(ByVal rng As Range) As Integer

    Dim cell As Range
    Dim counter As Integer: counter = 0

    For Each cell In rng
        If Not IsEmpty(cell) Then
            If Not cell Like Chr(34) & "*" & Chr(34) Then
                counter = counter + 1
                'cell.Offset(0, 1) = counter   '<- Only for illustration purposes
            End If
        End If
    Next cell

    not_qt = counter

End Function