Fiz dessa forma... usando Me.ActiveControl e passando o KeyAscii no parâmetro.
'Essa verificação foi colocada para evitar filtros desnecessários
'Validação do campo Peso
Private Sub txtPeso_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Call testa_campo_numerico(KeyAscii)
End Sub
'Essa verificação foi colocada para evitar filtros desnecessários
'Validação do campo Valor do Contrato
Private Sub txtValorContrato_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Call testa_campo_numerico(KeyAscii)
End Sub
Function testa_campo_numerico(ByVal KeyAscii As MSForms.ReturnInteger)
If Len(Me.ActiveControl) > 0 Then
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If
Else
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 60 And KeyAscii <> 62 Then
KeyAscii = 0
End If
End If
End Function
Alguma sugestão de melhoria ou outra forma de fazer?