Excel - Problema con formularios Excel y Application.run

 
Vista:
Imágen de perfil de jesus
Val: 1
Ha aumentado su posición en 15 puestos en Excel (en relación al último mes)
Gráfica de Excel

Problema con formularios Excel y Application.run

Publicado por jesus (1 intervención) el 28/09/2017 19:31:41
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:
1
2
3
4
5
6
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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder