Я пытаюсь выполнить VLOOKUP, но он может только вернуть 1 значение. Я хочу, чтобы мой результат возвращал несколько адресов электронной почты, а мое значение поиска - это несколько имен в одной ячейке. Первая ячейка - это значение, которое я хочу сопоставить с моей таблицей поиска. Excel- Возвращает несколько значений в одной ячейке из нескольких строк
Ниже моя таблица поиска, где каждый адрес электронной почты здесь, но, как я достичь результата, как [email protected]; [email protected], так что я могу просто автоматизировать напоминание по электронной почте в VBA с использованием подстановок писем ранее ? Как я могу это достичь?
Я также получил эту ошибку, когда я отладку, я не могу получить выбранные электронные почты
Sub getEmails()
Dim toNames As Range
Set toNames = Range("J3:J500") ' names input by user
Dim names As Range
Set names = Range("Email!B3:C25") ' names range from lookup table from different worksheet
Dim splitNames
splitNames = Split(toNames, ",")
Dim selectedEmails As String
For i = 0 To UBound(splitNames)
findRange = names.Find(What:=splitNames(i), LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
' if match found, get the email and store to selected emails variable
If Not findRange Is Nothing Then
selectedEmails = selectedEmails & Range("B" & findRange.Row) & ";"
End If
Next i
'output emails
Range("Q3:Q500") = selectedEmails
End Sub
Это было именно то, что я не хочу делать. Я не могу предсказать, какое имя персонаж собирается написать в будущем. Поэтому мне нужно иметь формулу для поиска значения – gpsrosak
Я бы порекомендовал вам всего несколько VLookups в цикле в VBA. Итак, если «Pui Kuan, Eric» - это поле ввода, «Разделить» его на отдельные имена, сделайте VLookup на каждом из отдельных имен и соедините результаты. – YowE3K
Можете ли вы показать мне пример, основанный на VBA, который я написал выше? Спасибо – gpsrosak