eu tenho uma coluna com milhares de nomes. Alguns desses nomes são abreviados e eu tenho q identificá-los utilizando VBA.
ex.:
NOME ------------------------- ESTA ABREVIADO
Joao Gomes da Silva--------------Nao
Joao G da Silva--------------------Sim
Joao Goulart Silva----------------Não
Joao Garcia R Silva---------------Sim
Leandro, considerando que as abreviações estejam todas com sómente uma (1) LETRA, podemos considerar como Padrão e utilizar como "Critério" e construirmos as instruções para separar nome e sobrenomes e contar a quantidade de caracteres em cada texto e se a quantidade de algum for igual a "UM (1)" considerar como Abreviado, mas somente se estiver neste padrão, não importando quantos sobrenomes tem, ao encontrar o primeiro que coincida com a verificação pula para o próximo nome.
Abaixo a rotina e um exemplo :
Sub VeriicarNomeSobrenome()
Dim sNome As Range
Dim sRng As Range
Dim sSplitNomes 'Separa os Nomes
Dim ultimalinha As Long 'Ultima Linha
Dim LenText As Integer 'Tamanho do Texto
Dim xNome As String 'Nome individual
ultimalinha = Range("A1048576").End(xlUp).Row 'verifica qual a ultima celula preenchida
Set sRng = Range("A2:" & "A" & ultimalinha)
For Each sNome In sRng
sSplitNomes = VBA.Split(sNome.Value) 'Captura qde de palavras nos nomes
xNome = ""
For i = 0 To UBound(sSplitNomes)
xNome = sSplitNomes(i) 'Separa os nomes
LenText = Len(xNome) 'Conta a qde de caracteres no nome
If LenText = 1 Then 'Se for igual a 1 = Sim - Abreviado
sNome.Offset(0, 1).Interior.Color = vbYellow
sNome.Offset(0, 1).Value = "Sim"
GoTo sProximoNome 'Interrompe e pula para o próximo nome
End If
Next
sProximoNome:
If LenText > 1 Then 'Se for maior que 1 = Não Abreviado
sNome.Offset(0, 1).Interior.Color = vbGreen
sNome.Offset(0, 1).Value = "Nao"
End If
Next
End Sub
identificar nome abreviado - "Separar nome e sobrenomes"
Faça os teste em seu arquivo e veja se é isto.
Se a dica ajudou, clique na mãozinha ao lado do icone CITAR para agradecer.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 02/10/2015 10:44 pm