Excel VBA возвращает «Ошибка компиляции: ожидается: выражение» - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь установить значение для возвращаемого значения другой функции, но я застреваю в этой строке:

Set tempMergeValue = TypeRegxFunc(MyRange.Rows(iCounter).Columns(1).Value,'([^.]+)')

TypeRegxFunc здесь

Function TypeRegxFunc(strInput As String, regexPattern As String) As String
    Dim regEx As New RegExp
    With regEx
        .Global = True
        .MultiLine = True
        .IgnoreCase = False
        .Pattern = regexPattern
    End With

    If regEx.Test(strInput) Then
        Set matches = regEx.Execute(strInput)
        TypeRegxFunc = matches(0).Value
    Else
        TypeRegxFunc = "not matched"
    End If

End Function

1 Ответ

3 голосов
/ 28 октября 2019

Вы должны заменить апострофы '' кавычками "", иначе VBA будет интерпретировать это как комментарий.

Измените эту строку:

Set tempMergeValue = TypeRegxFunc(MyRange.Rows(iCounter).Columns(1).Value,'([^.]+)')

С этой:

Set tempMergeValue = TypeRegxFunc(MyRange.Rows(iCounter).Columns(1).Value,"([^.]+)")

И это будет работать.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...