Como remover caracteres ou palavras duplicadas em uma string de uma célula?
Supondo que haja palavras ou caracteres duplicados em cada célula e você queira remover as duplicatas e deixar apenas caracteres ou palavras exclusivos. Como você resolveria esse problema no Excel?
Remova os caracteres duplicados da string de texto com a função definida pelo usuário
Remova as palavras duplicadas separadas por pontuação com a função definida pelo usuário
Remova os caracteres duplicados da string de texto com a função definida pelo usuário
Se você tem uma lista de string de texto, agora, você precisa remover os caracteres duplicados como mostrado a seguir. Aqui, posso falar sobre um código VBA para lidar com isso.
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 Módulo.
Código VBA: remove caracteres duplicados de string de texto em uma célula
Function RemoveDupes1(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
xChar = VBA.Mid(xValue, i, 1)
If xDic.Exists(xChar) Then
Else
xDic(xChar) = ""
xOutValue = xOutValue & xChar
End If
Next
RemoveDupes1 = xOutValue
End Function
3. Em seguida, salve e feche este código, volte para a planilha e insira esta fórmula = removedupes1 (A2) (A2 é a célula de dados da qual você deseja remover duplicatas) em uma célula em branco ao lado de seus dados, consulte a captura de tela:
4. Em seguida, arraste a alça de preenchimento até as células do intervalo às quais deseja aplicar esta fórmula, todos os caracteres duplicados foram removidos de cada célula imediatamente.
Remova as palavras duplicadas separadas por pontuação com a função definida pelo usuário
Se houver algumas palavras separadas por certos sinais de pontuação em uma célula, você também pode remover as palavras duplicadas conforme desejar. Execute as seguintes etapas:
1. Mantenha pressionada a 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 Módulo.
Código VBA: remova palavras duplicadas separadas pela pontuação de uma célula
Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
Dim x
'Updateby Extendoffice
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
End With
End Function
3. Em seguida, salve e feche este código, retorne à planilha e insira esta fórmula = RemoveDupes2 (A2, ",") em uma célula em branco ao lado de seus dados, veja a captura de tela:
4. Em seguida, copie a fórmula para as células necessárias e todas as palavras duplicadas serão removidas de todas as células. Veja a imagem:
Note: Na fórmula acima, A2 indica a célula que você deseja usar, e a vírgula (,) representa a marca de pontuação que separa as palavras em uma célula, você pode alterá-la para qualquer outra pontuação de sua necessidade.
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!