Mismo calendario con dos formularios

hola expertos:

uso excel 2010

tengo:

1- un control calendar que esta en un userform llamado FmCalendario,

2- tres userforms llamados FmJornada, FmModEmp, FmNewEmp y en cada uno hay un textbox llamado TextFecha

lo que me gustaría saber si es posible insertar la fecha en los textbox de los formularios, es decir, si abro el formulario FmJornada presiono dobleclick al textfecha me abre el calendario del fmcalendario y me inserta fecha y si abro el formulario fmmodemp pueda hacer lo mismo con el mismo calendario

es posible? Como lo hago solo he encontrado info para un calendario en dos textbox en un mismo userform

agradesco su ayuda

1 Respuesta

Respuesta
1
<p class="prettyprint">Ya tenés parte de la solución:

'...si abro el formulario FmJornada presiono dobleclick al textfecha me abre el calendario del fmcalendario y me inserta fecha ...'

Solo falta indicarle de qué control se trata... entonces necesitas una variable pública, colocada en un módulo (no UF)

Public quien as byte

Ahora en cada dobleclic de los textbox, la primer instrucción será indicar quien llama:

Quien = 1 (para el FmJornada) y en los otros le colocarás 2, 3 y así en todos.

Desconozco tu instrucción para colocar la fecha del calendar, pero debiera ser algo como esto (ajusta el nombre de tus controles):

Private Sub Calendar1_Click()
If quien = 1 Then
 UserForm2.TextBox1 = Calendar1.Value
ElseIf quien = 2 Then
 UserForm3.TextBox1 = Calendar1.Value
ElseIf quien = 3 Then
 UserForm4.TextBox1 = Calendar1.Value
End If
End Sub

Sdos. Si todo se comprendió no olvides finalizar.

Elsa

http://aplicaexcel.galeon.com/manual_UF2010.htm

hola doña elsa muchas gracias por tu ayuda, si mas o menos parecida la puse pero en la ultima instrucción había puesto un else en vez de elseif

hice lo que me sugeriste pero no esta funcionando bien puse en el modulo 1

Public Quien as byte

en el FmCalendario

Private Sub Calendar_Click()
If Quien = 1 Then
 FmJornada.TextFecha = Calendar.Value
ElseIf Quien = 2 Then
 FmNewEmp.TextFecha = Calendar.Value
ElseIf Quien = 3 Then
 FmModEmp.TextFecha = Calendar.Value
End If
Unload FmCalendario
End Sub

agregue unload FmCalendario para cerrar al insertar la fecha

y en cada formulario puse estos códigos

1- FmJornada

Private Sub TextFecha_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
 FmCalendario.Show
 Quien = 1
End Sub

2- FmNewEmp

Private Sub TextFecha_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
 FmCalendario.Show
 Quien = 2
End Sub

3- FmModEmp

Private Sub TextFecha_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
 FmCalendario.Show
 Quien = 3
End Sub

en userform initialize había puesto este código para que al iniciar muestre la fecha de hoy

TextFecha = Date

llamar al fmcalendario no hay problema dobleclick

el problema aparece cuando intento insertar una fecha en la primera vez no funciona, pero si lo hago por segunda vez si funciona, así que comente la linea TextFecha = Date, para ver si era eso, pero sigue el problema

muchas gracias saludos

No señor, primero se indica la variable y luego se llama al UF, las líneas van al revés de lo que pusiste.

Tal como te lo expliqué antes

'... Ahora en cada dobleclic de los textbox, la primer instrucción será indicar quien llama

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas