Добрый день, уважаемые знатоки, не смог написать в аналогичную тему (она в архиве), требуется помощь с макросом для выдергивания информации из ячейки по маске. Во вложении исходный файл, требуется с колонки "Т" вытащить кадастровый номер и вернуть кадастровый номер по маске в первую свободную колонку.
Меня хватило только на правильную маску: [0-9]+:[0-9]+:[0-9]+:[0-9]{1,}$ Отработал ее на сайте: https://regex101.com/, переваривает все кадастровые номера. Вытащил их архивной темы макрос, прикрутил, запустил, не работает, дальше потемки (((
Sub bb() Dim v(), x, y& v = Sheets("Лист1").UsedRange.Value ReDim b$(0 To UBound(v) * UBound(v, 2), 0 To 0) On Error Resume Next With CreateObject("vbscript.regexp") .Pattern = "[0-9]+:[0-9]+:[0-9]+:[0-9]{1,}$" For Each x In v b(y, 0) = .Execute(x)(0) If Err Then Err.Clear Else y = y + 1 Next End With Range("Лист2!A1").Resize(y).Value = b End Sub
требуется с колонки "Т" вытащить кадастровый номер
UDF
Код
Function iKN(cell$)
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\d{2}:\d{2}:\d{7}:\d{4}"
If .test(cell) Then
iKN = .Execute(cell)(0)
Else
iKN = ""
End If
End With
End Function