Я пытаюсь создать свою собственную функцию VBA, основанную на той, которая находится на втором шаге по этой ссылке. How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loopsRegEx Extraction #NAME error
Однако, я получаю ошибку #NAME. Где я здесь не так? Я проверил свой RegEx на https://regex101.com.
Function extractGroupName(Myrange As Range) As String
Dim regEx As New RegExp
Dim strPattern As String
Dim strInput As String
Dim strReplace As String
Dim strOutput As String
strPattern = "^.*Name:(.*);Id"
If strPattern <> "" Then
strInput = Myrange.Value
strReplace = "$1"
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With
If regEx.Test(strInput) Then
extractGroupName = regEx.Replace(strInput, "$1")
Else
extractGroupName = "ERROR: NOT FOUND"
End If
End If
End Function
Вы звоните эта функция из ячейки листа, а возврат в ячейке #NAME? Если это так, где вы положили код? Обычно он должен быть в регулярном модуле в той же книге. Вы назвали модуль с тем же именем, что и функция? Кроме того, вы установили ссылку на регулярные выражения в инструментах/ссылках? –
Да, я вызываю это из ячейки листа, а возврат в ячейке #NAME. Код находится в модуле в книге. Модуль и функция имеют одно и то же имя. Я включил ссылку на регулярные выражения. Все работает нормально, когда я копирую код в шаге 2 ссылки, которую я предоставлял дословно, однако, когда я это делаю, он вызывает ошибку #NAME, подразумевая, что это проблема с кодом, а не именование схемы, местоположения или ссылок , – Haybuck
Как и где вы поместили код VBA? –