У меня есть две функции для извлечения точной последовательности символов, но я не могу присоединиться к функциям.
Можно ли собрать их вместе?
Я пробовал несколько способов, но он всегда возвращает мне ошибку.
Public Function ExtraiNúmCNJ(Texto As Variant) As String
Application.Volatile True
With CreateObject("VBScript.Regexp")
.Global = False
.Pattern = "\d{7}\s*\.?\s*\d{2}\s*\.?\s*\d{4}\s*\.?\s*\d\s*\.?\s*\d{2}\s*\.?\s*\d{4}"
If .test(Texto) Then
ExtraiNúmCNJ = .Execute(Texto)(0)
.Global = True:
.Pattern = "\D"
ExtraiNúmCNJ = Format(.Replace(ExtraiNúmCNJ, ""), "0000000\-00\.0000\.0\.00\.0000")
End If
End With
End Function
Public Function ExtraiNúmAntigo(Texto As Variant) As String
Application.Volatile True
With CreateObject("VBScript.Regexp")
.Global = False
.Pattern = "\d{4}\s*\.?\s*\d{2}\s*\.?\s*\d{6}\s*\.?\s*\d{1}"
If .test(Texto) Then
ExtraiNúmAntigo = .Execute(Texto)(0)
.Global = True:
.Pattern = "\D"
ExtraiNúmAntigo = Format(.Replace(ExtraiNúmAntigo, ""), "0000\.00\.000000\.0")
End If
End With
End Function
В настоящее время я использую его следующим образом:
![enter image description here](https://i.stack.imgur.com/rLNzc.png)
Я пытаюсь оставить только одну функцию, потянув два типа чисел.