Excel VBA - сопоставить все экземпляры значения в диапазоне и вернуть соседние значения - PullRequest
0 голосов
/ 07 марта 2019

У меня есть список людей, каждый из которых принадлежит к одной или нескольким группам.Мне нужно выяснить все группы, к которым принадлежит каждый человек.

В одном столбце у меня есть список имен.В другом столбце у меня есть объединенный список имен, принадлежащих каждой группе, без пробелов или разделителей между именами.Я хочу, чтобы результат показывал каждое имя рядом с ячейкой, содержащей все группы, к которым принадлежит человек.См. Пример ниже, где желтые столбцы - желаемый результат:

enter image description here

Я думал о создании массива для каждого имени, но я неимел успехВот VBA у меня до сих пор, не уверен, если я иду в правильном направлении.

 Sub Test()
Dim range_1 As Range
Dim range_2 As Range

Set range_1 = Range("Names")
Set range_2 = Range("Combined_Names")

Dim v As Variant

Dim myArray() As Double, X As Long
X = 0
ReDim Preserve myArray(X)
For Each cell In range_1
    v = range_1.Value
        If v <> "" Then
            For Each cell In range_2
                w = range_2.Value
                If InStr(1, w, v, 1) Then
                    ReDim Preserve myArray(0 To X)
                    myArray(X) = cell.Offset(0, 1).Value
                    X = X + 1
                End If
        End If
Next
End Sub

Буду признателен за любой совет или помощь!

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