/ / ¿Cómo puedo hacer referencia a un control creado dinámicamente en VBA? - Excel, vba, dinámica, referencia, controles.

¿Cómo puedo hacer referencia a un control creado dinámicamente en VBA? - Excel, vba, dinámica, referencia, controles.

He estado encontrando las respuestas que necesito aquí en StackOverflow durante meses (¡gracias a todos!) Pero hasta ahora mis términos de búsqueda no están encontrando el resultado que necesito esta vez ... por lo tanto, mi primera publicación aquí ...

Tengo un archivo de Excel que incluye dos UserForms:

  • El primero se utiliza para ingresar ciertos datos de factura y luego exportarlos en un formato que se puede cargar en nuestro sistema de contabilidad propietario.
  • El segundo se usa luego para publicar los datos de pago contra esas facturas y luego, de manera similar, exportar esos datos en un formato que se puede cargar en nuestro sistema de contabilidad.

La segunda forma debe ser creada dinámicamente enUserform_Initialize, porque la cantidad de pagos requeridos (y, por lo tanto, la cantidad de controles TextBox y Label creados) varía dependiendo del tamaño de las facturas. He terminado el código para crear este segundo formulario y funciona bien, pero me gustaría agregar algunas funciones que se activan cuando el usuario cambia algunos de estos controles creados dinámicamente.

He hecho esto en otras formas usando un determinadocontrol "s _Cambiar () procedimiento (por ejemplo, cuando quiero pasar al siguiente cuadro después de ingresar una cantidad en dólares, uso _Cambiar () para establecer un enfoque en otro lugar tan pronto como el valor tenga dos dígitos después del decimal). Así que mi pregunta es: ¿cómo puedo establecer procedimientos de estilo _Cambio () para los controles que aún no existen antes de que se inicialice el formulario? ¿Hay alguna manera de establecer un procedimiento _Cambiar () "global" que pueda usar para recorrer los cuadros de texto y usar las sentencias if / then / else en función de sus nombres dinámicos?

¡Algún consejo sería de gran aprecio!

Respuestas

0 para la respuesta № 1

Cuando estoy usando formularios dinámicos, me gusta crear matrices de objetos para almacenar la información relevante de modo que pueda hacer referencia rápida y fácilmente a los objetos por "nombre".