Primeiro, insira a seguinte função definida pelo usuário em um módulo padrão:
Public Function Konnect(r1 As Range, r2 As Range) As String
Dim ary, i As Long
Dim v As Variant
ary = r2
v = r1.Value
Konnect = ""
For i = LBound(ary, 1) To UBound(ary, 1)
If ary(i, 1) = v Then Konnect = Konnect & "," & ary(i, 2)
Next i
If Len(Konnect) <> 0 Then Konnect = Mid(Konnect, 2)
End Function
Então, em Folha1 célula B1 digite:
=Konnect(A1,Sheet2!A$1:B$10)
e copie:
Naturalmente,vocêalterariao10paracorresponderaotamanhorealdatabelaemFolha2.
EDIT#1:
FunçõesDefinidaspeloUsuário(UDFs)sãomuitofáceisdeinstalareusar:
- ALT-F11exibeajaneladoVBE
- ALT-IALT-Mabreumnovomódulo
- coleomaterialefecheajaneladoVBE
Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx
PararemoveroUDF:
- abrirajaneladoVBEcomoacima
- limpeocódigo
- fecheajaneladoVBE
ParausaroUDFdoExcel:
=Konnect(A1,Sheet2!A$1:B$10)
Parasabermaissobremacrosemgeral,consulte:
e
e para detalhes sobre UDFs, consulte:
As macros devem estar ativadas para que isso funcione!