Я хотел бы использовать макрос в 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
Может кто-нибудь предложить альтернативу или, возможно, сказать мне, что я делаю неправильно? Спасибо:).