wzxnet7 funcionou perfeitamente mas eu preciso que retorne só o ultimo mesmo, e eu não posso usar m exit sub porque eu uso mais outras funções junto
If cmdPesquisarAutomatico.Value = Empty Then Exit Sub
If cmdInjetora.Value = True Then
auxLote = Me.cmdPesquisarAutomatico.Value
auxProcessamento = "[01] INJETORA"
'Pesquisando ultimo registro
t = Sheets("MovLote").Cells(Cells.Rows.Count, 1).End(xlUp).Row ' determina a ultima linha com dados com base na coluna "A"
'aqui vai o loop invertido
For i = t To 2 Step -1 ' veja que aqui o loop começa na ultima linha (t) e vai em direção da primeira linha (linha 3) da coluna "A"
' isso acontece por causa do menos 1 na frente do step
If Sheets("MovLote").Cells(i, 1) = auxLote Then
'note que o primeiro valor encontrado para a maria foi o 5 e não o 4
auxProc = Sheets("MovLote").Cells(i, 4) - ESSE CARA AQUI TINHA Q TRAZER SOMENTE A ULTIMA INFORMAÇÃO E PARAR, MAS NÃO PODE TER EXIT SUB
End If
Next
auxProces = auxProc
If auxProcessamento = auxProc And Date = auxData Then
MsgBox "Lote " & Me.cmdPesquisarAutomatico.Value & " já obteve movimentação nesse dia para o setor " & "[01] INJETORA", , "Mensagem"
Exit Sub
Else
C.Offset(0, 5).Value = "[01] INJETORA"
C.Offset(0, 8).Value = Date
C.Offset(0, 9).Value = "0"
Set ssheet = ThisWorkbook.Sheets("MovLote")
nr = ssheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ssheet.Cells(nr, 1) = Me.cmdPesquisarAutomatico
ssheet.Cells(nr, 2) = auxSKU
ssheet.Cells(nr, 3) = auxDesc
ssheet.Cells(nr, 4) = "[01] INJETORA"
ssheet.Cells(nr, 5) = Format(Date, "dd/mm/yyyy")
ssheet.Cells(nr, 6) = UCase(LogonName)
End If
Postado : 08/12/2016 6:44 pm