Dica: outros idiomas são traduzidos pelo Google. Você pode visitar o English versão deste link.
Entrar
x
or
x
x
Registre-se
x

or

Como concatenar colunas de células e manter cores de texto no Excel?

Como todos conhecemos, ao concatenar ou combinar colunas de células em uma coluna, a formatação da célula (como a cor da fonte do texto, a formatação do número, etc.) será perdida. Este artigo, vou apresentar alguns truques para combinar as colunas da célula em um e manter a cor do texto tão facilmente quanto possível no Excel.

Concatenear colunas de células e manter a cor da fonte de texto com o código VBA


Concatenear colunas de células e manter a cor da fonte de texto com o código VBA


Para concluir esta tarefa no Excel, o seguinte código VBA pode fazer um favor, faça o seguinte:

1. Mantenha pressionado o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Janela Módulo.

Código VBA: concatenar colunas de células e manter a cor do texto:

Sub MergeFormatCell()
'Updateby Extendoffice
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xRgEachRow As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim I As Integer
    Dim xRgLen As Integer
    Dim xSRgRows As Integer
    Dim xAddress As String
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Please select cell columns to concatenate:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSRgRows = xSRg.Rows.Count
    Set xDRg = Application.InputBox("Please select cells to output the result:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRgRows
        xRgLen = 1
        With xDRg.Offset(I - 1)
            .Value = vbNullString
            .ClearFormats
            Set xRgEachRow = xSRg(1).Offset(I - 1).Resize(1, xSRg.Columns.Count)
            For Each xRgEach In xRgEachRow
                .Value = .Value & Trim(xRgEach.Value) & " "
            Next
            For Each xRgEach In xRgEachRow
                xRgVal = xRgEach.Value
                With .Characters(xRgLen, Len(Trim(xRgVal))).Font
                .Name = xRgEach.Font.Name
                .FontStyle = xRgEach.Font.FontStyle
                .Size = xRgEach.Font.Size
                .Strikethrough = xRgEach.Font.Strikethrough
                .Superscript = xRgEach.Font.Superscript
                .Subscript = xRgEach.Font.Subscript
                .OutlineFont = xRgEach.Font.OutlineFont
                .Shadow = xRgEach.Font.Shadow
                .Underline = xRgEach.Font.Underline
                .ColorIndex = xRgEach.Font.ColorIndex
                End With
                xRgLen = xRgLen + Len(Trim(xRgVal)) + 1
            Next
        End With
    Next I
End Sub

3. Então aperte F5 chave para executar este código e uma caixa de solicitação é exibida para lembrá-lo de selecionar o intervalo de dados que você deseja combinar com a cor do texto, veja a captura de tela:

4. E, em seguida, clique em OK, outra caixa de diálogo é exibida, selecione as células onde deseja produzir os resultados combinados, veja a captura de tela:

5. Então clique OK botão, as colunas foram concatenadas sem perder a cor do texto como a seguinte captura de tela mostrada:

notas: Se os dados que precisavam ser combinados incluem números, o código de macro não pode funcionar corretamente.



Ferramentas de produtividade recomendadas para o Excel

Kutools for Excel ajuda você a concluir o trabalho antes do tempo e se destacar da multidão

  • Mais do que poderosos recursos avançados do 300, projetados para cenários de trabalho 1500, aumentando a produtividade em 70%, você tem mais tempo para cuidar da família e aproveitar a vida.
  • Não precisa mais memorizar fórmulas e códigos VBA, dê um descanso a seu cérebro a partir de agora.
  • Torne-se um especialista em Excel em minutos 3, operações complicadas e repetidas podem ser feitas em segundos,
  • Reduza milhares de operações de teclado e mouse todos os dias, diga adeus às doenças ocupacionais agora.
  • 110,000 pessoas altamente eficazes e escolha de empresas de renome mundial 300 +.
  • 60-day full features versão de avaliação gratuita. Garantias de devolução do dinheiro 60. 2 anos de atualização e suporte gratuitos.

Traz navegação com guias e edição para o Microsoft Office, muito mais poderosa do que as guias do navegador

  • A guia Office foi projetada para Word, Excel, PowerPoint e outros aplicativos do Office: Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    fridlack · 4 months ago
    Habría manera de hacerlo con números?
  • To post as a guest, your comment is unpublished.
    Antoni · 8 months ago
    Fantástica la macro de concatenar cadena de texto conservando formato de origen. En mi caso no funcionaba con F5, pero en la pestaña macro, modificar y opciones me permite entrar el modo de ejecucion con CTRL+letra y funciona de maravilla. Muchas gracias.
  • To post as a guest, your comment is unpublished.
    sirmasiang · 8 months ago
    Hello,
    This methods works well, until xRgLen is higher than 255.
    It looks this parameter is a byte :-(
    How can this limitation been overtaken ?
  • To post as a guest, your comment is unpublished.
    Sheila · 1 years ago
    This code works really well. But, how do I add space before or after the text?