Notifications
Clear all

Puxar ultima ocorrência no formulário do VBA

7 Posts
3 Usuários
0 Reactions
1,703 Visualizações
(@pires)
Posts: 17
Active Member
Topic starter
 

Bom dia Senhores,

Venho novamente precisando de um auxilio na ferramente de formulário do vba.

Com o auxilio de vocês consegui montar um formulário onde consigo escrever o código do cliente em um textbox, e em outro textbox aparecer automaticamente uma informação. A questão agora é que preciso puxar apenas a ultima inclusão referente aquela código.

Na planilha em anexo por exemplo, tenho dois lançamentos do cliente "416", ao colocar no textobox o código 416, ele puxará a primeira data, e o que procuro é puxar a ultima data de contato.

O código que estou utilizando:

Private Sub TextBox11_Change()

 On Error Resume Next
    TextBox12 = ""
    With Sheets("Plan1")
        TextBox12 = WorksheetFunction.VLookup(Val(TextBox11.Value), .Columns("a:b"), 2, 0)
        
    End With
End Sub
'data do contato
Private Sub TextBox12_Change()
End Sub

Desde já agradeço a ajuda.

Att,

 
Postado : 19/06/2018 5:24 am
(@rafaelp)
Posts: 89
Trusted Member
 

Bom dia.

pires,

Segue a alteração que fiz no seu código bem como planilha anexa, veja se lhe atende:

    UltLinha = Sheets("Plan1").Cells(Rows.Count, "A").End(xlUp).Row
    
    Do Until UltLinha = 2
    
        If Trim(Plan1.Cells(UltLinha, "A")) = Trim(Me.TextBox11) Then
        
            Me.TextBox12 = Plan1.Cells(UltLinha, "B")
            Exit Sub
        
        End If
    
        UltLinha = UltLinha - 1
    
    Loop
 
Postado : 19/06/2018 5:38 am
(@pires)
Posts: 17
Active Member
Topic starter
 

Bom dia rafaelp,

O código funciona perfeitamente.

Agora, se eu precisar criar mais colunas, como dou sequência no código?

Segue planilha exemplo.

 
Postado : 19/06/2018 6:10 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

pires,

Bom dia!

Assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 19/06/2018 6:54 am
(@rafaelp)
Posts: 89
Trusted Member
 

pires,

No caso você terá que alterar o código

UltLinha = Sheets("Plan1").Cells(Rows.Count, "A").End(xlUp).Row '
Aqui ele conta o numero de celulas preenchidas da coluna "A" que é o código do cliente. Vamos supor que você mude o código pra coluna "B", aí vc altera para "B".

If Trim(Plan1.Cells(UltLinha, "A"))
O mesmo se aplica aqui, este "if" é para comparar se o que foi digitado na pesquisa corresponde ao que está no "banco de dados"

Me.TextBox12 = Plan1.Cells(UltLinha, "B")
Por fim esta parte inclui a data do contato correspondente ao que foi pesquisado, ou seja, se vc mudar a data para a coluna "C" por exemplo, é só alterar no código também.

 
Postado : 19/06/2018 6:56 am
(@rafaelp)
Posts: 89
Trusted Member
 

Agora que entendi, havia interpretado de forma incorreta o que você questionou, o wagner respondeu melhor. rs
:D

 
Postado : 19/06/2018 6:58 am
(@pires)
Posts: 17
Active Member
Topic starter
 

Senhores,

Muito obrigado pela atenção, testado e funcionando 100%.

 
Postado : 19/06/2018 7:26 am