VBA для получения значений MATCH внутри ячейки, разделенной запятой, от другой ячейки - PullRequest
0 голосов
/ 15 марта 2019

Я относительно новичок в VBA Я ищу, чтобы создать MACRO для сопоставления значений в ячейке, отделенной запятой от другой ячейки, и сообщить результат, существует ли совпадение.

Ввод:

   a                         b             
1 abc ,edr,edd,eee          abc

Выход:

   a                         b              c             
1 abc ,edr,edd,eee          abc           Match
2 abc ,edr,edd,eee          eef          No Match 

Код:

Function TRACK(pValue As String, pWorking As Range)
    Dim pValue As String
    Dim xResult As String
    pWorking() = Split(pWorking, ",")
    xResult = " "

    For Each pValue In pWorking
        If pWorking = pValue Then
        xResult =  “ Match”
    else
        xResult = “ No Match”
    Next

    ASSEMBLY = xResult
End Function

1 Ответ

0 голосов
/ 15 марта 2019

После разбиения pWorking на массив вы можете использовать функцию Match на рабочем листе, чтобы определить, содержится ли внутри pValue.

Function TRACK(pValue As String, pWorking As String)

    Dim vals As Variant

    vals = Split(pWorking, ",")

    If IsError(Application.Match(pValue, vals, 0)) Then
        TRACK = "No Match"
    Else
        TRACK = "Match"
    End If

End Function

Будьте осторожны с 'умными кавычками (например, “ and ”).Они не являются действительными кавычками в коде.

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