Ir ao conteúdo
  • Cadastre-se
MID CURSOS

Unir e abreviar nomes

Recommended Posts

Boa tarde Décio, tem alguns nomes que mesmo que não estão abreviando corretamente.

por Ex. os nomes que terminam com da de estão ficando juntos com o outro, a solução que fiz rapidamente é acrescentar um espaço na fórmula. aí quando acontece esse problema eu acrescento o espaço. tem outra maneira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Além da excelente solução do @deciog segue uma alternativa via UDF sem o uso de colunas auxiliares.

Instale o código abaixo em um módulo comum, assim:

1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

 

em seguida coloque na célula 'C4' a função =nome() e arraste para baixo

 

Public Function nome() As String
 Dim r As Long, x As Long, Cx As Variant, k As String
   Application.Volatile
   r = Application.Caller.Row
   nome = Cells(r, 1)
   Cx = Split(Cells(r, 2), " ")
     If LBound(Cx) = UBound(Cx) Then
      nome = nome & " " & Cells(r, 2): Exit Function
     ElseIf LBound(Cx) = UBound(Cx) - 1 And Len(Cx(LBound(Cx))) > 2 Then
      nome = nome & " " & UCase(Left(Cx(0), 1)) & ". " & Cx(UBound(Cx)): Exit Function
     ElseIf LBound(Cx) = UBound(Cx) - 1 Then
      nome = nome & Cx(UBound(Cx)):: Exit Function
     End If
     For x = LBound(Cx) To UBound(Cx) - 1
      If Len(Cx(x)) > 2 Then
       nome = nome & UCase(Left(Cx(x), 1)) & ". "
      End If
     Next x
  nome = nome & Cx(UBound(Cx))
End Function

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@osvaldomp Bom Dia.

 

Excelente adorei apesar de não conhecer VBA ainda, porém pergunto tem limite de intervalos de nomes, na formula estipulei até 6 intervalos nomes.

 

Décio

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
16 minutos atrás, deciog disse:

@osvaldomp  pergunto tem limite de intervalos de nomes, na formula estipulei até 6 intervalos nomes.

 

Fala, Décio.

Você se refere a quantidade de termos no sobrenome? Se sim, não há limite, serve para qualquer quantidade.

A UDF precisa ainda de alguns ajustes pois testei somente para algumas variações de sobrenomes.

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×