Como concatenar um intervalo de células

3

No Excel 2003, existe uma maneira de combinar valores em um intervalo de células, com um separador de vírgulas no meio, sem digitar as referências de células individuais por exemplo, concatene A86: A90 e concatene A193: A198 com separador de vírgulas entre cada célula individual; para obter o mesmo resultado que

= (A86 & "," A87 & "," & A88 & "," A89 & "," amp & A90 & "," A193, A194, A195, A196, A197, A198     

por Hany 21.02.2016 / 06:24

1 resposta

1

Como você deseja concatenar blocos de células, considere o uso da seguinte Função definida pelo usuário :

Public Function KonKat(ParamArray rngs()) As String
    Dim r As Range, i As Long, rr As Range, s As String

    For i = LBound(rngs) To UBound(rngs)
        Set rr = rngs(i)
        For Each r In rr
            If s = "" Then
                s = r.Text
            Else
                s = s & "," & r.Text
            End If
        Next r
    Next i

    KonKat = s
End Function

Por exemplo:

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(B1:D1,C3:E3)

Parasabermaissobremacrosemgeral,consulte:

link

e

link

Para detalhes sobre UDFs, consulte:

link

Para detalhes sobre ParamArray , consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 21.02.2016 / 14:48