Страницы: 1
RSS
Макрос для вырезания по маске, Требуется помощь по макросу
 
Добрый день, уважаемые знатоки, не смог написать в аналогичную тему (она в архиве), требуется помощь с макросом для выдергивания информации из ячейки по маске. Во вложении исходный файл, требуется с колонки "Т" вытащить кадастровый номер и вернуть кадастровый номер по маске в первую свободную колонку.

Меня хватило только на правильную маску: [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
 
Kuzmich, Красавчик, спасибо большое !!!

Очень удобно! Хорошо, что сухо ответил, сам разобрался что это функция сам вставил, нашел даже проблему:

из-за того, встречаются кадастровые номера с 3мя последними цифрами поправил паттерн на"\d{2}:\d{2}:\d{7}:\d{1,4}"

Респект!
 
Цитата
встречаются кадастровые номера с 3мя последними цифрами
Код
 .Pattern = "\d{2}:\d{2}:\d{7}:\d{3,4}"
Страницы: 1
Наверх