Como extrair letras maiúsculas ou palavras que começam com letra maiúscula de cadeias de texto?
Se tiver uma lista de cadeias de texto e quiser extrair apenas as letras maiúsculas ou as palavras que começam por uma letra maiúscula das células, como pode fazer isso no Excel?
Extrair letras maiúsculas de cadeias de texto com uma Função Definida pelo Utilizador
Extrair letras maiúsculas de cadeias de texto com uma Função Definida pelo Utilizador
O código VBA seguinte permite-lhe extrair apenas as letras maiúsculas das células. Siga os passos abaixo:
1. Mantenha premidas as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o seguinte código na janela do Módulo.
Código VBA: Extrair apenas letras maiúsculas de cadeias de texto:
Function ExtractCap(Txt As String) As String
'Updateby Extendoffice
Application.Volatile
Dim xRegEx As Object
Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
xRegEx.Pattern = "[^A-Z]"
xRegEx.Global = True
ExtractCap = xRegEx.Replace(Txt, "")
Set xRegEx = Nothing
End Function
3. Em seguida, guarde o código e feche esta janela. Regresse à folha de cálculo e introduza a seguinte fórmula:=EXTRACTCAP(A2) numa célula vazia onde pretenda obter o resultado e, depois, arraste a alça de preenchimento para as células às quais deseja aplicar esta fórmula. Todas as letras maiúsculas serão extraídas imediatamente. Veja a imagem:

Extrair palavras que começam por letra maiúscula de cadeias de texto com uma Função Definida pelo Utilizador
Se precisar de extrair palavras que começam por uma letra maiúscula de cadeias de texto, o código VBA seguinte poderá ajudá-lo.
1. Mantenha premidas as teclas ALT + F11para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e copie e cole o seguinte código na janela do Módulo.
Código VBA: Extrair palavras que começam por letra maiúscula:
Function StrExtract(Str As String) As String
'Updateby Extendoffice
Application.Volatile
Dim xStrList As Variant
Dim xRet As String
Dim I As Long
If Len(Str) = 0 Then Exit Function
xStrList = Split(Str, " ")
If UBound(xStrList) >= 0 Then
For I = 0 To UBound(xStrList)
If xStrList(I) = StrConv(xStrList(I), vbProperCase) Then
xRet = xRet & xStrList(I) & " "
End If
Next
StrExtract = Left(xRet, Len(xRet) - 1)
End If
End Function
3. Em seguida, guarde o código e feche a janela do código. Introduza a seguinte fórmula:=StrExtract(A2) numa célula vazia junto aos seus dados, arraste a alça de preenchimento para as células em que pretende obter o resultado e todas as palavras que começam por letra maiúscula serão extraídas. Veja a imagem:

As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos