Hola. No hay problema. Prueba lo siguiente:
1) establece la propiedad
KeyPreview del formulario a
true. Esto es
imprescindible pues por defecto está en "false" De esta manera todos los eventos del teclado son registrados primero por el formulario y después por el control que tiene el foco si lo hubiera.
2) en el evento Form_KeyPress (doble click sobre el formulario, evento KeyPress) investiga el valor de KeyAscii. Por ejemplo:
Código:
If KeyAscii = vbKeyEscape Then ' KeyEscape = 27
KeyAscii = 0 'Opcional, evita que sea visto después por los controles, ya que es pasado por referencia...
If vbOK = MsgBox("¿Limpiar los datos introducidos?", vbOKCancel) Then
'Rutina para vaciar todos los TextBox:
Dim CT As Control
For Each CT In Me.Controls
If TypeOf CT Is TextBox Then
CT.Text = vbNullString
End If
Next CT
'Y si quieres pones el foco en el TextBox que quieras:
Text1.SetFocus 'Por ejemplo
End If
End If
Un saludo, espero que te sirva.