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:
Note: 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:
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab 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!