基于REGEX模式删除行匹配excel VBA

问题描述 投票:0回答:1

如果单元格值与正则表达式不匹配,我想在excel中使用宏删除行。更具体地说,如果单元格值不是以数字开头,请删除整行

实施例

宏之前

“”

宏之后

“”

因此,我一直在尝试使用.AutoFilter将论坛中的一些代码拼凑在一起,但我不认为它需要使用正则表达式对象作为条件,而只是字符串。。

Sub test()
    Dim table As Range
    Dim ws As Worksheet
    Dim upperLeft As Range
    Dim digitOnly As Object

    Set digitOnly = CreateObject("vbscript.regexp")
    digitOnly.Pattern = "^[\d]"
    digitOnly.Ignorecase = True

    Set ws = ActiveSheet
    Set upperLeft = ws.Range("A2")
    Set table = upperLeft.CurrentRegion

    With table
    .AutoFilter Field:=1, Criteria1:=digitOnly
    .Offset(1, 0).EntireRow.Delete
    End With
    End Sub

有人可以提出替代方案,或者告诉我我做错了什么吗?谢谢:)。

如果单元格值与正则表达式不匹配,我想在excel中使用宏删除行。更具体地说,如果单元格值不是以数字开头,则删除整行示例...

excel vba macros autofilter
1个回答
0
投票

类似这样的东西:

© www.soinside.com 2019 - 2024. All rights reserved.