Fiz uma gambiarra aqui e dá pra tapear, porem fiquei limitado a voltar 5 linhas para encontrar um valor numérico, ou continuar digitando um imenso código;como seria pra tornar "ciclico" pegando na ultima linha preenchida , se não for numero ir voltando até encontrar um numero , sem necessidade de escrever um código gigante , usando acho que For , Next ou Loop.
Private Sub userform_initialize()
y = Range("BJ65536").End(xlUp).Row
'Cells(y, 62).Select
'Me.LblUltPto.Caption = Cells(y, 62)
If IsNumeric(Cells(y, 62)) Then
Me.txtNovPto.Text = Cells(y, 62).Value + 1
Me.LblUltPto.Caption = Cells(y, 62)
Exit Sub
Else
If Not IsNumeric(Cells(y, 62)) Then
x = Range("BJ65536").End(xlUp).Row - 1
If IsNumeric(Cells(x, 62)) Then
Me.txtNovPto.Text = Cells(x, 62).Value + 1
Me.LblUltPto.Caption = Cells(x, 62)
Exit Sub
Else
If Not IsNumeric(Cells(x, 62)) Then
w = Range("BJ65536").End(xlUp).Row - 2
If IsNumeric(Cells(w, 62)) Then
Me.txtNovPto.Text = Cells(w, 62).Value + 1
Me.LblUltPto.Caption = Cells(w, 62)
Exit Sub
Else
If Not IsNumeric(Cells(w, 62)) Then
q = Range("BJ65536").End(xlUp).Row - 3
If IsNumeric(Cells(q, 62)) Then
Me.txtNovPto.Text = Cells(q, 62).Value + 1
Me.LblUltPto.Caption = Cells(q, 62)
Exit Sub
Else
If Not IsNumeric(Cells(q, 62)) Then
Z = Range("BJ65536").End(xlUp).Row - 4
If IsNumeric(Cells(Z, 62)) Then
Me.txtNovPto.Text = Cells(Z, 62).Value + 1
Me.LblUltPto.Caption = Cells(Z, 62)
Exit Sub
Else
If Not IsNumeric(Cells(Z, 62)) Then
k = Range("BJ65536").End(xlUp).Row - 5
If IsNumeric(Cells(k, 62)) Then
Me.txtNovPto.Text = Cells(k, 62).Value + 1
Me.LblUltPto.Caption = Cells(k, 62)
Exit Sub
'Me.txtNovPto.Text = Cells(y, 62).Value + 1
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End Sub
Postado : 29/04/2012 7:24 pm