KeyCodes

HOLA
Tengo el siguiente código:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 17 Then
Label1 = "1"
End If
End Sub
En éste procedimiento consta más de 20 "If KeyCode then..." y tengo una tabla de 1000 Textboxes, mi pregunta es si hay una forma que no tenga que poner a cada TextBox el mismo Evento ya que el procedimiento es el mismo, y de hecho tengo los TextBox en un Frame.
Gracias

1 Respuesta

Respuesta
1
Primero una pregunta.
¿Para qué quieres una tabla con más de 1000 TextBox?
Es que no me imagino la funcionalidad..
Hola
Me gusta usar UserForm para mis experimentos, para unos textbox son fechas, otros códigos, otros montos, etc...
Pero claro está que si hay una mejor solución, mejor, pero espero que sea con UserForms.
Gracias!
A ver:
Una aplicación con 1000 textbox es inviable desde un punto de vista practico.
Si fuera en VB todavía podrías usar arrays de controles y te simplificaría la gestión, pero en VBA no existen por lo que tendrías que tener 1000 controles separados y te va a quedar algo espeso y complicadol
Ese numero tan grande se cambia bien por un grid o bien en el propio excel. No le veo la ventaja de tener ese userform tan grande en excel.
Si quieres simplificar crea un sub que se llame 'ControlTecla algo como:
Sub ControlTecla(Control as integer,Tecla as Integer)
Aquí pones el tema para controlar lo que quieras siendo:
NControl Un Numero que vas a pasar para indicar elcontrol
Tecla el keucode pulsado
end sub
Luego en todos los controles pones lo mismo
Sub ControlQueSea23CKeydown p1,p1,KeyCode,P3, etc..
Controltecla 23,Keycode
end sub
Con eso simplificas el código ya que centralizas todo en el mismo sitio.
Disculpe, pero he intentado colocar su código de varias maneras pero no doy con las pruebas, podría darme un código de ejemplo más certero ya que no soy muy bueno para esto.
Gracias.
El código que te he comentado es muy básico como para detallarlo más. Si no lo comprendes como para hacer un par de ejemplos con el te sugiero que primero te hagas un tutorial sobre VBA para reforzar tu visión general sobre el tema ( abajo te dejo un link) y luego si quieres nos centramos en preguntas concretas.
Saludos.
El link=> http://macedoniamagazine.frodrig.com/aulae.htm , hay mas ejemplos en internet.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas