Notifications
Clear all

Criar chave ordenada para células repetidas

8 Posts
2 Usuários
0 Reactions
1,217 Visualizações
(@arthurrib)
Posts: 4
New Member
Topic starter
 

Boa tarde,

Preciso de uma ajuda em relação a criação de uma macro para gerar uma chave ordenada para a tabela abaixo.
Na coluna B eu tenho uma relação de fabricantes de automóvel, podendo este ser repetido ou não.
Preciso que a macro crie uma chave na coluna A com o formato "NOME DO FABRICANTEx", sendo "x" um sequencial de vezes que ele aparece na coluna B, conforme foto abaixo.

Agradeço desde já.

 
Postado : 05/03/2015 11:25 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

No meu trabalho eu não tenho acesso para baixar e visualizar a imagem, favor postar aqui no fórum seu arquivo modelo!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/03/2015 11:44 am
(@arthurrib)
Posts: 4
New Member
Topic starter
 

Alexandrevba,

Segue anexo.

 
Postado : 05/03/2015 12:04 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

So serve se for macro?

=B2&TEXTO(SE(CONT.SE(B$1:B1;B2&"*")=0;1;CONT.SE($B$1:B1;B2&"*")+1);"00")

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/03/2015 12:28 pm
(@arthurrib)
Posts: 4
New Member
Topic starter
 

Alexandrevba,

Já ajudou demais!!!!
O único problema da formula é ter que puxa-la, mas eu faço a macro pra puxar a formula (E assim a gente vive)!
Por enquanto esta excelente, agradeço demais a sua ajuda!

Abraços!

 
Postado : 05/03/2015 1:01 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tente assim

Sub AleVBA_14882()
    Dim Lastrow As Long
    Application.ScreenUpdating = False
        Lastrow = Range("B" & Rows.Count).End(xlUp).Row
        Range("A2:A" & Lastrow).Formula = "=B2&TEXT(IF(COUNTIF(B$1:B1,B2&""*"")=0,1,COUNTIF($B$1:B1,B2&""*"")+1),""00"")"
    Application.ScreenUpdating = True
    
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/03/2015 1:33 pm
(@arthurrib)
Posts: 4
New Member
Topic starter
 

Alexandrevba,

Perfeito!
Agradeço sua pronta atenção!

Abraços.

 
Postado : 05/03/2015 1:45 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Opsss :oops:
Esqueci de retirar a formula.

Sub AleVBA_14882()
    Dim Lastrow As Long
    Application.ScreenUpdating = False
        Lastrow = Range("B" & Rows.Count).End(xlUp).Row
        Range("A2:A" & Lastrow).Formula = "=B2&TEXT(IF(COUNTIF(B$1:B1,B2&""*"")=0,1,COUNTIF($B$1:B1,B2&""*"")+1),""00"")"
        Range("A2:A" & Lastrow).Value = Range("A2:A" & Lastrow).Value 'Tire a formula
    Application.ScreenUpdating = True
    
End Sub

Favor Clicar na mãozinha!!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/03/2015 2:21 pm