Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

 Como converter uma sequência de texto para o caso adequado com exceções no Excel?

Author Xiaoyang Last modified

No Excel, você pode aplicar a função PRIMEIRA LETRA EM MAIÚSCULA para converter sequências de texto para o caso adequado facilmente. No entanto, às vezes, você precisa excluir algumas palavras específicas ao converter as sequências de texto para o caso adequado, conforme mostrado na captura de tela a seguir. Neste artigo, vou falar sobre alguns truques rápidos para resolver essa tarefa no Excel.

convert text string to proper case with exceptions

Converter sequências de texto para o caso adequado com exceções usando fórmula

Converter sequências de texto para o caso adequado com exceções usando código VBA


Converter sequências de texto para o caso adequado com exceções usando fórmula

Talvez a seguinte fórmula possa ajudá-lo a lidar com essa tarefa rapidamente, por favor, faça o seguinte:

Insira esta fórmula:

=MAIÚSCULA(ESQUERDA(A2))&MEIO(ARRUMAR(SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(" "&PRIMEIRA LETRA EM MAIÚSCULA(A2)&" "," De "," de ")," A "," a "),"É "," é ")," Usa "," USA ")),2,NÚM.CARACT(A2)) em uma célula onde você deseja obter o resultado, e depois arraste a alça de preenchimento para preencher esta fórmula, e as sequências de texto foram convertidas para o caso adequado, mas com exceções específicas, veja a captura de tela:

convert text string to proper case with exceptions by using formula

Observação: Na fórmula acima, A2 é a célula que você deseja converter, “De ”, “A”, “É”, “Usa” são as palavras normais após a conversão para o caso adequado, “de ”, “a”, “é”, “USA” são as palavras que você deseja excluir do caso adequado. Você pode alterá-las conforme necessário ou adicionar outras palavras com a função SUBSTITUIR.



Converter sequências de texto para o caso adequado com exceções usando código VBA

Se a fórmula acima for um pouco difícil de entender e ajustar às suas necessidades, aqui você também pode aplicar um código VBA para concluir essa tarefa. Por favor, siga as etapas a seguir uma a uma.

1. Pressione e segure as teclas ALT + F11 para abrir a janela Microsoft Visual Basic para Aplicações.

2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo.

Código VBA: converter sequências de texto para o caso adequado com exceções:

Sub CellsValueChange()
'Updateby Extendoffice
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xPRg As Range
    Dim xSRgArea As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim I As Long
    Dim K As Long
    Dim KK As Long
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
    If xPRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRg.Areas.Count
        Set xSRgArea = xSRg.Areas.Item(I)
        For K = 1 To xSRgArea.Count
            xRgVal = xSRgArea(K).Value
            If Not IsNumeric(xRgVal) Then
                xRgVal = CorrectCase(xRgVal, xPRg)
                xDRg.Offset(KK).Value = xRgVal
            End If
            KK = KK + 1
        Next
    Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
    Dim xArrWords As Variant
    Dim I As Integer
    Dim xPointer As Integer
    Dim xVal As String
    xPointer = 1
    xVal = xRgVal
    xArrWords = WordsOf(xRgVal)
    For I = 0 To UBound(xArrWords)
        xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
        Debug.Print xPointer
        Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
    Next I
    CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
    Dim xDelimiters As Variant
    Dim xArrRtn As Variant
    xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
    For Each xEachDelimiter In xDelimiters
        xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
    Next xEachDelimiter
    xArrRtn = Split(Trim(xRgVal), " ")
    WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
    With xERg
        If IsError(Application.Match(xArrWord, .Cells, 0)) Then
            CorrectCaseOneWord = Application.Proper(xArrWord)
        Else
            CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
        End If
    End With
End Function

3. Em seguida, pressione a tecla F5 para executar este código, e uma caixa de aviso será exibida para lembrá-lo de selecionar as células originais que deseja converter, veja a captura de tela:

vba code to select data range

4. E depois clique em OK, selecione as células onde deseja gerar os resultados na caixa exibida, veja a captura de tela:

vba code to desitination cell

5. Continue clicando em OK, e na caixa de diálogo pop-up, selecione os textos que deseja excluir, veja a captura de tela:

vba code to select excluded text

6. E depois clique em OK para sair das caixas de diálogo, e todas as sequências de texto foram convertidas para o caso adequado, exceto as palavras especificadas, veja a captura de tela:

result of converting text string to proper case with exceptions

Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com: Execução Inteligente   |  Gerar Código  |  Criar Fórmulas Personalizadas  |  Analisar Dados e Gerar Gráficos  |  Chamar Funções Aprimoradas
Recursos Populares: Localizar, Destacar ou Marcar Duplicatas   |  Excluir Linhas em Branco   |  Consolidar Colunas ou Células sem Perder Dados   |   Arredondar...
Super PROC: Procura por múltiplos critérios    Procura por múltiplos valores  |   Procura em várias planilhas   |   Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente Lista suspensa  |  Lista suspensa dependente  |  Lista suspensa com múltipla seleção ...
Gerenciador de Colunas: Adicionar número específico de colunas  | Mover Colunas  | Alternar status de visibilidade de Colunas ocultas |  Comparar Intervalos & Colunas...
Recursos em Destaque: Grade de foco   |  Visualização de Design  |  Barra de fórmulas aprimorada    Gerenciador de Pasta de trabalho & Planilha   |  Biblioteca de AutoTexto (Auto Text)   |  Selecionador de Data   |  Mesclar Dados   |  Criptografar/Descriptografar Células    Enviar Email por Lista   |  Super Filtro   |   Filtro Especial (filtrar negrito/itálico/tachado...) ...
Os 15 Principais Conjuntos de Ferramentas: 12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...)  | 50+ Tipos de Gráficos (Gráfico de Gantt, ...)  | 40+ Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...)  | 19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem pelo Caminho, ...)  | 12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...)  | 7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ...e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 idiomas!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para acessar o recurso que você mais precisa...


Office Tab traz interface com abas para o Office e facilita muito seu trabalho

  • Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
  • Aumente sua produtividade em50% e economize centenas de cliques todos os dias!

Todos os complementos Kutools. Um instalador

O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.

Excel Word Outlook Tabs PowerPoint
  • Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Um instalador, uma licença — configuração em minutos (pronto para MSI)
  • Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
  • Avaliação completa por30 dias — sem registro e sem cartão de crédito
  • Melhor custo-benefício — economize comparado à compra individual de add-ins