Excel: Como mesclar uma lista separada de palavras-chave de diferentes células dinamicamente em uma única célula?

0

Eu tenho a seguinte tabela com palavras-chave:

---------------------------------------
|group   | keywords                   |
---------------------------------------
|1       | lorem, ipsum, aeque, dolor |
---------------------------------------
|2       | ipsum, oratio, vim, lorem  |
---------------------------------------
|3       | lorem, qualisque, dolor    |
---------------------------------------

E eu quero ter um verão com todas as palavras-chave mescladas em uma célula com uma função excel:

---------------------------------------------------------------
|summary | aeque, dolor, ipsum, lorem, oratio, qualisque, vim |
---------------------------------------------------------------

O usuário deve poder editar as palavras-chave na primeira tabela e o resumo deve ser reconstruído automaticamente.

Eu poderia usar o CONCATENATE para unir todas as palavras-chave, mas como obter uma string ordenada com palavras-chave exclusivas dessa string concatenada?

    
por LarS 13.09.2016 / 17:19

1 resposta

3

Com dados na coluna A como:

aseguintefunçãodedefiniçãodousuário(UDF):

PublicFunctionKonKat(rINAsRange)AsStringDimrAsRange,cAsCollectionSetc=NewCollectionForEachrInrINary=Split(Replace(r.Value," ", ""), ",")
        On Error Resume Next
        For Each a In ary
            c.Add a, CStr(a)
            If Err.Number = 0 Then
                KonKat = KonKat & ", " & a
            Else
                Err.Number = 0
            End If
        Next a
        On Error GoTo 0
    Next r
    KonKat = Mid(KonKat, 3)
End Function

fará a concatenação e removerá as duplicatas:

FunçõesDefinidaspeloUsuário(UDFs)sãomuitofáceisdeinstalareusar:

  1. ALT-F11exibeajaneladoVBE
  2. ALT-IALT-Mabreumnovomódulo
  3. coleomaterialefecheajaneladoVBE

Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx

PararemoveroUDF:

  1. abrirajaneladoVBEcomoacima
  2. limpeocódigo
  3. fecheajaneladoVBE

ParausaroUDFdoExcel:

=konkat(A1:Z1)

Parasabermaissobremacrosemgeral,consulte:

link

e

link

e para detalhes sobre UDFs, consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 13.09.2016 / 17:57