Доброго времени суток, Помогите пожалуйста написать Функцию в VBA. Нужно извлечь значение из строки. Это значение всегда начинается на "Z0" или "z0" и оно всегда 8 знаков. Пример прикреплен. Спасибо всем кто откликнется.
P.S. Я написал формулу. Формула, громоздка но с задачей справляется.
Если для решения задачи достаточно использования НЕмногоэтажных штатных функций, то их использование предпочтительнее, чем UDF, которые, зачастую в своем коде используют WorksheetFunction
Согласие есть продукт при полном непротивлении сторон
Function iText(cell$)
With CreateObject("VBScript.RegExp")
.Global = True
.IgnoreCase = True
.Pattern = "z0[0-9a-z]{6}"
If .test(cell) Then
iText = UCase(.Execute(cell)(0))
Else
iText = "null"
End If
End With
End Function
Public Function Z0Eight(ByVal fromText As String) As String
On Error GoTo errHandle
Z0Eight = UCase$(Mid$(fromText, InStr(1, fromText, "Z0", vbTextCompare), 8))
Exit Function
errHandle:
Z0Eight = Empty
End Function