首页 > 解决方案 > 在 IF 语句中使用通配符

问题描述

我正在尝试在我的 VBA 中使用以下代码,但它不起作用,我有很多或包含 HFMWO123455 等的单元格,数字不断变化。任何帮助表示赞赏。

If ((.Cells(K, "E").Value = "HFMWO*")) Then
    J = J + 1
    .Rows(K).EntireRow.Copy Destination:=Worksheets("Facilities").Range("A" & J + 1)
    .Rows(K).EntireRow.Delete
End If

标签: excelvba

解决方案


你可以试试:

Option Explicit

Sub test()

    Dim j As Long, k As Long

    With ThisWorkbook.Worksheets("Sheet1") '<- Change sheet name to fit your needs

        If InStr(1, .Cells(k, "E").Value, "HFMWO", vbTextCompare) > 0 Then
            j = j + 1
            .Rows(k).EntireRow.Copy Destination:=Worksheets("Facilities").Range("A" & j + 1)
            .Rows(k).EntireRow.Delete
        End If

    End With

End Sub

笔记:

  • 如果您循环旨在删除行,请从下到上循环。

推荐阅读