............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Problema con formularios Excel y Application.run

Ver el tema anterior Ver el tema siguiente Ir abajo

Problema con formularios Excel y Application.run

Mensaje por JesusG el Jue Sep 28, 2017 2:45 pm

Buenas noches a todos. En primer lugar, agradecer de antemano vuestra atención y ayuda.
Estoy haciendo una pequeña aplicación en Excel para llevar un registro de los fichajes de entrada y salida en mi trabajo. Es muy posible que la utilicemos varios compañeros, y cada uno deberá guardar sus horas de entrada y salida exclusivamente.
La idea es crear dos libros: Uno llamado “Código” y el otro llamado “Control”.
El libro “Código” estará ubicado en una unidad de red a la que tienen acceso todos los ordenadores de mi oficina y contendrá todo los módulos y las macros.
En el libro “Control” estarán todas las hojas y formularios
Al abrir cada usuario su copia de “Control” se abrirá también (en segundo plano) el libro “Código”. Solamente tengo que utilizar una línea de código para activar cada macro cuando lo necesite, esta línea es:
Application.run(“Código.xlsm!nombre de la macro o procedimiento”)
Ahora bien, quisiera hacer lo mismo con los formularios, pero no consigo hacerlo. Me explicaré:
Tengo un formulario llamado “Antigüedad” en el cual hay varios controles, por simplificar pondré sólo tres:
- Un combobox llamado Combodia
- Un textbox llamado valordia
- Un botón de comando llamado Aceptar
En el botón Aceptar he puesto:
Private Sub Aceptar_Click()
If Combodia.Value <> "" Then
   valordia = 1
Else: valordia = 2
End If
End Sub
La idea es colocar estas líneas en un módulo del libro “Código”, que podría llamarse Antigüedad_aceptar(), y después, en el botón de comando, poner:
Application.run(“Código.xlsm!Antigüedad_aceptar”)
Pero, al hacerlo, no funciona, ya que no encuentra el objeto combodia ni ninguno de los controles del formulario (lógico, puesto que están en un formulario de otro libro)
¿Podríais indicarme si es posible hacer lo que pretendo? Y de ser así, ¿Cómo debería hacerlo?
Os ruego que, si podéis explicármelo, lo hagáis de forma muy clara, ya que no tengo casi conocimientos y me resulta muy difícil en ocasiones seguir las explicaciones.
La versión de Excel que utilizo es Excel 2007.
De nuevo, muchas gracias a todos por vuestra atención y ayuda.

JesusG

Masculino Cantidad de envíos : 1
Edad : 52
Ciudad - Pais : Zaragoza - España
Version de Excel : 2007
Fecha de inscripción : 28/09/2017

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.