Note: The other languages of the website are Google-translated. Back to English
Registo de cliente  \/ 
x
or
x
Registe-se  \/ 
x

or

 Como converter a seqüência de caracteres de texto para maiúsculas e minúsculas com exceções no Excel?

No Excel, você pode aplicar a função Adequada para converter strings de texto para letras maiúsculas e minúsculas facilmente, mas, às vezes, você precisa excluir algumas palavras específicas ao converter as strings de texto para letras maiúsculas e minúsculas, como mostrado a seguir. Neste artigo, vou falar sobre alguns truques rápidos para resolver esse trabalho no Excel.

Converta sequências de texto para letras maiúsculas e minúsculas com exceções usando a fórmula

Converta strings de texto para letras maiúsculas e minúsculas com exceções usando o código VBA


Converta sequências de texto para letras maiúsculas e minúsculas com exceções usando a fórmula


Pode ser a seguinte fórmula pode ajudá-lo a lidar com esta tarefa rapidamente, faça o seguinte:

Insira esta fórmula:

= UPPER (LEFT (A2)) & MID (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE ("" & PROPER (A2) & "", "Of", "of"), "A", "a"), "Is "," é ")," EUA "," EUA ")), 2, LEN (A2)) em uma célula onde você deseja obter o resultado e, em seguida, arraste a alça de preenchimento para preencher esta fórmula, e as strings de texto foram convertidas em maiúsculas e minúsculas, mas com exceções específicas, consulte a captura de tela:

Importante: Na fórmula acima, A2 é a célula que você deseja converter, “De”, “A”, “É”, “Eua” são as palavras com maiúsculas normais após a conversão, “De”, “a”, “é”, “EUA” são as palavras que você deseja excluir do caso adequado. Você pode alterá-los de acordo com sua necessidade ou adicionar outras palavras com a função SUBSTITUIR.


Converta strings de texto para letras maiúsculas e minúsculas com exceções usando o código VBA

Se a fórmula acima for um pouco difícil de entender e mudar de acordo com sua necessidade, aqui você também pode aplicar um código VBA para concluir esta tarefa. Siga as etapas a seguir, uma por uma.

1. Segure 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: converta strings 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. Então aperte F5 para executar este código e uma caixa de prompt é exibida para lembrá-lo de selecionar as células originais que deseja converter, consulte a captura de tela:

4. E, em seguida, clique em OK, selecione as células em que deseja enviar os resultados na caixa exibida, consulte a captura de tela:

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

6. E, em seguida, clique em OK para sair das caixas de diálogo, e todas as strings de texto foram convertidas para o caso adequado, mas excluem as palavras especificadas, consulte a captura de tela:


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-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. 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
Say something here...
symbols left.
You are guest
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.
    Nathan · 2 years ago
    This would be amazing if only the Macro excluded the part of the sting in CAPS not the entire cell from the exceptions list.