Notifications
Clear all

ID Letra+Numeros

6 Posts
2 Usuários
0 Reactions
1,919 Visualizações
(@tomoiti)
Posts: 41
Trusted Member
Topic starter
 

Olá pessoal,

tou montando um cadas com ID no formato de letra+numeros.
P00001
P00002
P00003
....
Quando monto o codigo VBA, para que ele some +1 da sequencia, o mesmo fica invalido.
Poderia me ajudar.

Sub btnnovo_Click()

    Dim x, y As Double
    'descobre a ultima linha
    x = Worksheets("FORNECEDOR").Cells(Worksheets("FORNECEDOR").Rows.Count, 2).End(xlUp).Row
    'pega o valor da primeira coluna e soma(+1)
    If x = 1 Then
        y = x
    Else
        y = Worksheets("FORNECEDOR").Cells(x, 2) + 1
        
    End If
           
    label_idparc2 = y

    
    
End Sub
 
Postado : 27/02/2018 9:43 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja se é isto :

Sub btnnovo_Click()
    Dim x, y As String

    'descobre a ultima linha
    x = Worksheets("FORNECEDOR").Cells(Worksheets("FORNECEDOR").Rows.Count, 2).End(xlUp).Row
    
    'pega o valor da primeira coluna e soma(+1)
    If x = 1 Then
        y = x
    Else
       
        y = "P" & Format(x + 1, "00000") 'soma(+1) e formata o resultado para "P0000x"
        
    End If
           
    label_idparc2 = y

End Sub

[]s

 
Postado : 27/02/2018 11:22 pm
(@tomoiti)
Posts: 41
Trusted Member
Topic starter
 

Infelizmente não esta funcionando.... teria alguma outra ideia?

 
Postado : 27/02/2018 11:44 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Muito lacônico sua resposta.
Se corretamente aplicada, a solução proposta pelo colega irá funcionar.
E interessante que disponibilize seu modelo e como aplica/usa a proposta. Altere dados que julgar necessário para FICTÍCIOS

 
Postado : 28/02/2018 3:24 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

É como o Reinaldo disse, eu nem ia responder por não encontrar na rotina que postou a instrução que monta o ID que indicou, então fui por suposição que não estava conseguindo monta-la interpretando as instruções, onde :

Capturamos e armazenamos na Variável x a qde linhas preenchidas na coluna 2
x = Worksheets("FORNECEDOR").Cells(Worksheets("FORNECEDOR").Rows.Count, 2).End(xlUp).Row

Se x igual a 1, seria a primeira linha, se tivessemos somente uma ID, o Valor de y é igual x
If x = 1 Then
y = x

senão,
y = ao valor de x + 1
y = Worksheets("FORNECEDOR").Cells(x, 2) + 1 - mas aqui temos o problema, uma vez que o valor é alfa numerico, temos o erro, então temos que, ou decompor o valor e remonta-lo ou fazer da forma mais direta do jeito que indiquei :
y = "P" & Format(x + 1, "00000") 'soma(+1) e formata o resultado para "P0000x", onde temos 3 pelo que postou, então x é igual a 3 e somamos mais 1 ficando 4 e formatamos com zeros a esquerda conforme a qde na sua ID e adicinamos a letra P, ficando "P00004".

Mas, só dizer "infelizmente não está funcionando" sem indicar onde estaria o problema tambem fica dificil, forneça mais detalhes de preferencia com um modelo.

 
Postado : 28/02/2018 5:30 am
(@tomoiti)
Posts: 41
Trusted Member
Topic starter
 

Obrigado Mauro Coutinho!!!

Mudei de maquina e deu certo...
Não sei pq ele estava sinalizando a linha do código com erro... mas agora se resolveu tudo...

Muito Obrigado a todos!

 
Postado : 28/02/2018 6:58 am