Note: The other languages of the website are Google-translated. Back to English

Como inserir espaços antes de letras maiúsculas no excel?

Suponha que você tenha uma lista de strings de texto em que todos os espaços entre as palavras são removidos acidentalmente, como este: InsertBlankRowsBetweenData, e agora você deseja adicionar os espaços antes de cada letra com letras maiúsculas para separar as palavras como Inserir linhas em branco entre os dados. Como você poderia adicionar espaços na frente das letras maiúsculas rapidamente em vez de digitar espaços um a um no Excel?


Insira espaços antes das letras maiúsculas com a função definida pelo usuário

Infelizmente, não há uma maneira direta de adicionar espaços antes das letras maiúsculas no Excel, mas você pode criar uma função definida pelo usuário para resolver essa tarefa.

1. Ative sua planilha que contém as cadeias de texto que você deseja adicionar espaços.

2. Segure o ALT + F11 chaves para abrir o Janela Microsoft Visual Basic for Applications.

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

Código VBA: insira espaços antes das letras maiúsculas

Function AddSpaces(pValue As String) As String
'Update 20140723
Dim xOut As String
xOut = VBA.Left(pValue, 1)
For i = 2 To VBA.Len(pValue)
   xAsc = VBA.Asc(VBA.Mid(pValue, i, 1))
   If xAsc >= 65 And xAsc <= 90 Then
      xOut = xOut & " " & VBA.Mid(pValue, i, 1)
   Else
      xOut = xOut & VBA.Mid(pValue, i, 1)
   End If
Next
AddSpaces = xOut
End Function

4. Em seguida, salve e feche este código, volte para a planilha e insira esta fórmula = addspaces (A1) em uma célula em branco ao lado de seus dados, veja a captura de tela:
doc-adicionar-espaços-antes-maiúsculos-1

5. E, em seguida, arraste a alça de preenchimento sobre o intervalo em que deseja conter esta fórmula, você obterá os espaços são inseridos antes de cada letra maiúscula.
doc-adicionar-espaços-antes-maiúsculos-1

Remova facilmente espaços iniciais / finais / extras nas células

Kutools para Excel's Remover Espaços O utilitário permite que os usuários do Excel removam facilmente todos os espaços à esquerda, espaços à direita, espaços extras ou todos os espaços das células selecionadas rapidamente.


espaço de remoção de anúncio 1

Insira espaços antes das letras maiúsculas com o código VBA

Aqui está outro código VBA que pode lhe fazer um favor, faça o seguinte:

1. Segure o ALT + F11 chaves para abrir o Janela Microsoft Visual Basic for Applications.

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

Código VBA: insira espaços antes das letras maiúsculas

Sub AddSpacesRange()
'Update 20140723
Dim Rng As Range
Dim WorkRng As Range
Dim xOut As String
Dim xValue As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each Rng In WorkRng
    xValue = Rng.Value
    xOut = VBA.Left(xValue, 1)
    For i = 2 To VBA.Len(xValue)
       xAsc = VBA.Asc(VBA.Mid(xValue, i, 1))
       If xAsc >= 65 And xAsc <= 90 Then
          xOut = xOut & " " & VBA.Mid(xValue, i, 1)
       Else
          xOut = xOut & VBA.Mid(xValue, i, 1)
       End If
    Next
    Rng.Value = xOut
Next
Application.ScreenUpdating = True
End Sub

3. Então aperte F5 para executar este código, uma caixa de prompt aparecerá para permitir que você selecione um intervalo de dados que deseja usar.
doc-adicionar-espaços-antes-maiúsculos-1

4. E, em seguida, clique em OK para fechar esta caixa de prompt, os espaços foram inseridos antes das letras maiúsculas de uma vez, veja a imagem:
doc-adicionar-espaços-antes-maiúsculos-1


Insira um espaço antes de todas as letras maiúsculas com o Kutools para Excel

Kutools para Excel's Adicionar texto O utilitário pode ajudá-lo a ignorar as macros VBA e inserir espaço antes de cada letra maiúscula facilmente no Excel.

Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Avaliação gratuita de recursos completos 30-dia, sem necessidade de cartão de crédito! Teste grátis agora!

1. Selecione o intervalo onde você irá inserir o espaço antes das letras maiúsculas e clique no botão Kutools > Texto > Adicionar texto. Veja a imagem:

2. Na abertura da caixa de diálogo Adicionar Texto, digite um espaço no Texto caixa, marque a Apenas adicionar à opção e selecione 1ª letra é maiúscula de Apenas adicione a lista suspensa.

3. Clique no Ok botão para inserir espaço antes de cada letra maiúscula, conforme a captura de tela mostrada a seguir:
doc adicione espaços antes de 7 maiúsculas

Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Avaliação gratuita de recursos completos 30-dia, sem necessidade de cartão de crédito! Get It Now

Notas: Este método também adicionará espaço no início das células se a primeira letra for maiúscula. Você pode aplicar Kutools > Texto > Remover Espaços para remover todos os espaços iniciais das células selecionadas.


Artigo relacionado:


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, 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!
parte inferior da aba do escritório
Comentários (9)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
eu preciso de uma ajuda no excel eu quero encontrar letras maiúsculas em uma célula. por exemplo: Sagar Paul MBA 16:04 quero que o MBA seja destacado
Este comentário foi feito pelo moderador no site
Espero que você possa vê-lo e experimentá-lo. Sub Test() Dim Rg As Range, xCell As Range Dim i As Long Dim xChar As String Definir Rg = Application.Selection For Each xCell In Rg For i = 1 To xCell.Characters.Count xChar = xCell.Characters(i, 1 .Text If Asc(xChar) > 64 E Asc(xChar) < 91 Then xCell.Characters(i, 1).Font.Color = vbRed End If Next Next End Sub
Este comentário foi feito pelo moderador no site
Olá, seu código funciona fantástico. Você sabe como adaptar o código 20140723 para trabalhar em várias planilhas? Gostaria de adicionar espaços entre letras maiúsculas em toda a pasta de trabalho. Obrigado!
Este comentário foi feito pelo moderador no site
Olá

Primeiramente muito obrigado pelo seu exemplo de código e pelas explicações. Funciona muito bem para o meu caso.

Eu só tenho 1 problema, algumas das Strings contêm palavras como URL, que não devem ser separadas.
Você vê uma maneira de, por exemplo, "URL" adicionar espaços?

Seria muito bom se você pudesse ajudar. Já tentei a um tempo, mas não sei como resolver isso..


Cumprimentos
luca
Este comentário foi feito pelo moderador no site
Oi,
Obrigado pelo seu comentário e conselho. Enviei sua sugestão para a equipe do projeto Kutools, tenho certeza que eles vão melhorar em breve.
Este comentário foi feito pelo moderador no site
Encontrou uma solução?
Este comentário foi feito pelo moderador no site
oi quero perguntar se você encontrou solução para o seu caso, se você encontrou solução por favor me forneça isso
Este comentário foi feito pelo moderador no site
Esta função lida com dois problemas que a solução fornecida não cobre:
1. texto não inglês (com sinais diacríticos)
2. maiúsculas sucessivas que não devem ter espaços após eles

` Função privada AddSpaces(sText As String)As String
' Insere um espaço imediatamente antes de uma letra maiúscula, exceto quando caracteres sucessivos são cada um em maiúscula.
' Última atualização: 2022-07-04
'
Dim sRet As String, i As Integer, sChar As String, bPrevWasUCase As Boolean

sRet = Esquerda(sTexto, 1)
Para i = 2 Para Len(sText)
sChar = Mid(sText, i, 1)
Se sChar = UCase(sChar) e não bPrevWasUCase Então
sRet = sRet & " " & sChar
bPrevWasUCase = Verdadeiro
Outro
sRet = sRet & sChar
bPrevWasUCase = Falso
Se acabar
Proximo eu

AddSpaces = sRet
Função Final`
Este comentário foi feito pelo moderador no site
Olá amigo,

Obrigado por sua parte. Eu tentei seu código VBA, mas não funciona. Nosso código VBA pode lidar com o texto não em inglês. Eu testei o texto em francês e os espaços foram inseridos com sucesso antes das letras maiúsculas.

Atenciosamente,
Mandy
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL