KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Adicionar Caracteres a Cada X Caracteres nas Células do Excel – Métodos Simples

AutorXiaoyang Data de Modificação

Ao trabalhar com códigos de produto, números de série, números de telefone, identificações ou sequências longas de texto no Excel, poderá precisar de inserir um carácter específico a cada número fixo de caracteres. Por exemplo, pode querer converter ABCDEF123456 em ABC-DEF-123-456 ou adicionar espaços a cada 4 dígitos para facilitar a leitura de números longos.
O Excel não inclui um botão dedicado para esta tarefa, mas é possível realizá-la facilmente com alguns métodos simples. Este artigo apresenta-lhe várias abordagens práticas para adicionar ou inserir caracteres específicos a cada X caracteres nas células do Excel.

Adicionar Caracteres a Cada X Caracteres

Adicionar Caracteres a Cada X Caracteres no Excel

Notas Importantes e Limitações

Conclusão


Adicionar Caracteres a Cada X Caracteres no Excel

Os métodos seguintes mostram-lhe como inserir rapidamente caracteres específicos a cada número definido de caracteres no Excel, facilitando a separação de textos longos, identificações, códigos de produto ou sequências numéricas em intervalos fixos — tornando o conteúdo mais padronizado e fácil de ler.

 

Método 1: Adicionar Caracteres a Cada X Caracteres com fórmula

Se estiver a utilizar o Excel 365 ou o Excel 2021, pode usar uma fórmula de matriz dinâmica para dividir o texto em grupos de comprimento fixo e, depois, juntá-los com um carácter especificado.

Introduza a seguinte fórmula numa célula vazia:

=TEXTJOIN("-",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4))

Depois, prima a tecla Enter e arraste a alça de preenchimento para baixo para aplicar a fórmula às restantes células.
Adicionar Caracteres a Cada X Caracteres por fórmula

Como funciona esta fórmula?

  • LEN(A2): Obtém o número total de caracteres na célula A2.
  • ROUNDUP(LEN(A2)/4,0): Calcula o número de grupos necessários. Mesmo que o último grupo tenha menos de 4 caracteres, será incluído na contagem.
  • SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4): Gera as posições iniciais: 1, 5, 9, 13 e assim sucessivamente.
  • MID(A2,SEQUENCE(...),4): Extrai cada grupo de 4 caracteres do texto.
  • TEXTJOIN("-",VERDADEIRO,...): Junta todos os grupos extraídos com um hífen.

Personalizar a fórmula

Pode ajustar o caráter e o intervalo conforme necessário.

Adicionar um espaço a cada 4 caracteres:

=TEXTJOIN(" ",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4))

Adicionar uma barra a cada 2 caracteres:

=TEXTJOIN("/",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/2,0),,1,2),2))

Utilize referências de células para definições flexíveis: (Esta versão é mais flexível porque pode alterar o caractere inserido ou o número do intervalo sem editar a própria fórmula.)

Se:

  • O Texto Original está em A2,
  • O caractere a inserir está em B1,
  • O número do intervalo está em C1
=TEXTJOIN($B$1,TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/$C$1,0),,1,$C$1),$C$1))

Vantagens e desvantagens

PrósContras
Resultado dinâmico que se atualiza automaticamenteFunciona apenas no Excel 365, Excel 2021 e versões posteriores
Não requer VBAA fórmula pode ser difícil para principiantes
Fácil de copiar para várias célulasO resultado baseia-se numa fórmula, não em texto estático
 

Método 2: Adicionar Caracteres a Cada X Caracteres com código VBA

Se pretender inserir um carácter específico a cada número fixo de caracteres em várias células e obter diretamente o resultado, o VBA é uma boa opção.

  1. Mantenha premidas as teclas ALT + F11 no Excel para abrir a janela do Microsoft Visual Basic para Aplicações.
  2. Clique em Inserir > Módulo e cole o seguinte código na janela do módulo.
Sub InsertCharacter()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
Dim xRow As Integer
Dim xChar As String
Dim index As Integer
Dim arr As Variant
Dim xValue As String
Dim outValue As String
Dim xNum As Integer
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
xRow = Application.InputBox("Number of characters :", xTitleId, Type:=1)
xChar = Application.InputBox("Specify a character :", xTitleId, Type:=2)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xNum = 1
For Each Rng In InputRng
    xValue = Rng.Value
    outValue = ""
    For index = 1 To VBA.Len(xValue)
        If index Mod xRow = 0 And index <> VBA.Len(xValue) Then
            outValue = outValue + VBA.Mid(xValue, index, 1) + xChar
        Else
            outValue = outValue + VBA.Mid(xValue, index, 1)
        End If
    Next
    OutRng.Cells(xNum, 1).Value = outValue
    xNum = xNum + 1
Next
End Sub
  1. Prima a tecla F5 para executar este código. Aparecerá uma caixa de diálogo a solicitar que selecione o intervalo de dados onde pretende inserir um carácter específico nas cadeias de texto. Veja a imagem abaixo:
    Selecionar o intervalo de dados
  2. E clique em OK; na caixa de diálogo seguinte, introduza o número após o qual pretende inserir o carácter específico. Veja a imagem:
    Introduzir o número de caracteres
  3. Continue a clicar em OK e, na caixa de diálogo seguinte, introduza o carácter específico que pretende adicionar ao texto. Veja a imagem:
    Especificar um carácter
  4. Clique no botão OK e escolha, na caixa de diálogo, a célula onde pretende apresentar o resultado. Veja a imagem:
    Escolher a célula de saída
  5. Finalmente, clique em OK. O Excel irá inserir o caráter especificado a cada X caracteres e colocará os resultados na Área de Colocação da Lista selecionada.
    Inserir Caracteres a Cada X Caracteres com código VBA

Vantagens e desvantagens

PrósContras
Funciona em versões antigas do ExcelRequer ativação de macros
Pode processar muitas células de uma só vezO VBA pode ser difícil para principiantes
Produz resultados estáticos diretamenteNão é dinâmico se o Dados de Origem mudar
Definições flexíveis de caracteres e intervalosOs ficheiros com macros devem ser guardados como .xlsm
 

Método 3: Adicionar caracteres a cada X caracteres com Função Definida pelo Utilizador

Uma Função Definida pelo Utilizador, também designada por UDF, permite-lhe criar a sua própria função do Excel com VBA. Após adicionar a função, pode utilizá-la como uma fórmula normal da folha de cálculo.

  1. Prima Alt + F11 para abrir o editor VBA.
  2. Clique em Inserir > Módulo. Copie e cole o seguinte código no módulo.
Function InsertEveryX(TextStr As String, InsertChar As String, IntervalNum As Long) As String
    Dim i As Long
    Dim ResultStr As String
    If IntervalNum <= 0 Then
        InsertEveryX = TextStr
        Exit Function
    End If
    For i = 1 To Len(TextStr) Step IntervalNum
        ResultStr = ResultStr & Mid(TextStr, i, IntervalNum) & InsertChar
    Next i
    If Len(ResultStr) > 0 Then
        ResultStr = Left(ResultStr, Len(ResultStr) - Len(InsertChar))
    End If
    InsertEveryX = ResultStr
End Function
  1. Feche o editor do VBA e regresse à folha de cálculo. Utilize a seguinte fórmula:
=InsertEveryX(A2,"-",4)

Dica: Pode também armazenar o carácter a inserir e o número do intervalo em células.

Depois, arraste a alça de preenchimento para baixo e aplique a fórmula às restantes células.
Inserir Caracteres a Cada X Caracteres com udf

Vantagens e desvantagens

PrósContras
Funciona como uma fórmula normal do ExcelRequer configuração de VBA
Mais fácil de ler do que uma fórmula complexaAs macros têm de estar ativadas
Reutilizável na pasta de trabalhoNão está disponível noutras pastas de trabalho, a menos que seja copiado
Suporta caracteres e intervalos personalizadosA pasta de trabalho deve ser guardada como .xlsm
 

Método 4: Adicionar caracteres a cada X caracteres com Kutools para Excel

Se não quiser utilizar fórmulas complexas nem código VBA, o Kutools para Excel oferece uma forma mais simples de inserir caracteres no texto das células. Com as suas ferramentas de texto, pode inserir rapidamente caracteres específicos em posições fixas ou aplicar operações de processamento de texto a várias células.

  1. Selecione as células onde pretende inserir caracteres e, em seguida, clique em Kutools > Texto > Adicionar Texto.
    selecionar a funcionalidade adicionar texto
  2. Na caixa de diálogo Adicionar Texto:
    1. Introduza o caractere que pretende inserir, como -, / ou um espaço na caixa Texto.
    2. Na secção Adicionar Posição, selecione Após a posição especificada e introduza as posições onde o caractere deve ser inserido.
    3. Clique em OK.
      definir opções na caixa de diálogo

Dica: Neste exemplo, introduzi 4, 8 e 12 na caixa «Após a posição especificada», o que significa que o texto específico será inserido após o 4.º, o 8.º e o 12.º caracteres de cada cadeia de texto.

O carácter especificado foi agora inserido nos valores das células nos intervalos definidos.

Insira Texto nas Células do Excel Mais Rapidamente com o Kutools

Com a funcionalidade Adicionar Texto do Kutools para Excel, pode inserir rapidamente caracteres, símbolos ou texto específicos nas células selecionadas — sem precisar de escrever fórmulas ou código VBA complexos.

Sem fórmulas nem VBAInsira texto com definições simples em vez de criar fórmulas complexas.
Processamento em loteAplique a mesma regra de inserção a várias células simultaneamente.
Posições flexíveisAdicionar Texto no início, no fim ou em posições de caracteres especificadas.
Ideal para principiantesUma caixa de diálogo visual torna a formatação de texto mais fácil e eficiente.

Notas Importantes e Limitações

1. Os resultados da fórmula são dinâmicos

Se utilizar o método da fórmula, o resultado será atualizado automaticamente quando o Texto Original mudar. Isto é útil para folhas de cálculo em curso, mas o resultado continua a basear-se numa fórmula.

Se precisar de valores de texto fixos, copie os resultados da fórmula e utilize:Base>Colar>Colar Valores

2. O VBA e o Kutools geralmente devolvem resultados estáticos.

O VBA e o Kutools são mais adequados para processamento pontual. Uma vez inseridos os caracteres, o resultado não será atualizado automaticamente quando o texto de origem for alterado, a menos que execute novamente o código ou a ferramenta.

3. Verifique se o último grupo é mais curto.

Se o comprimento do texto diferente for exatamente divisível pelo número do intervalo, o último grupo conterá os caracteres restantes.

4. Células vazias

Quando o intervalo selecionado contém células vazias, o VBA e o Kutools geralmente conseguem ignorá-las automaticamente ou deixá-las inalteradas. No entanto, se utilizar fórmulas, essas células vazias poderão devolver resultados inesperados ou erros. Para evitar isso, envolva a fórmula com **SE** ou **SEERRO**, mantendo as células vazias em branco.

=IF(A2="","",TEXTJOIN("-",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4)))

5. Caracteres especiais

A maioria dos separadores comuns — como hífens, vírgulas, espaços, barras e pontos — pode ser inserida normalmente. Também é possível adicionar texto personalizado.


Conclusão

Adicionar caracteres a cada X caracteres no Excel torna cadeias de texto longas mais fáceis de ler, formatar e gerir. Para utilizadores do Excel 365 ou Excel 2021, as fórmulas oferecem uma solução flexível e dinâmica. Se precisar de processar muitas células de uma só vez, o VBA permite concluir a tarefa de forma eficiente. Caso pretenda uma fórmula personalizada reutilizável, uma Função Definida pelo Utilizador (UDF) é uma excelente opção. Já para quem prefere um método simples, visual e sem código, o Kutools para Excel proporciona uma forma mais rápida de lidar com este tipo de tarefa de formatação de texto.

Em geral, utilize fórmulas para obter resultados dinâmicos, recorra a VBA ou UDFs quando precisar de maior controlo e opte pelo Kutools para um fluxo de trabalho mais simples e com menos passos manuais.