Jump to content

Archived

This topic is now archived and is closed to further replies.

Antoni

Calendario automático

Recommended Posts

Buenas tardes señores, es posible mostrar el calendario en dos celdas diferentes de la misma hoja?

claro que si, siempre y cuando cumpla la primicia

Si el texto de cualquier celda de la fila 1 contiene la palabra fecha, en mayúsculas o minúsculas, y la celda seleccionada contiene una fecha o está vacía, se despliega un calendario de forma automática.

suerte

Share this post


Link to post
Share on other sites

Hola, muchas gracias por el calendario, está espectacular...

adapté el calendario a mi userform, pero me surgió una duda, que puedo hacer para modificar la posición en la que aparece en formulario de fecha, ya que me sale en una esquina. es decir cuales son los códigos que fijan la posición del formulario de fecha para poder moverlo.

Share this post


Link to post
Share on other sites

Como he visto que el tema sigue atrayendo visitas, y con el permiso implícito de [uSER=46507]@Macro Antonio[/uSER], me he permitido modificar sus MACROS y la fórmula de la columna del Importe (ejem).

Básicamente los cambios son:

  1. Calendario automático ambivalente, tanto en la celda activa como en el formulario.
  2. Un clic para insertar la fecha sin cerrar el calendario y doble clic lo cierra.
  3. Botones ◀ ▶ para cambiar de mes.
  4. Actualiza fecha activa del formulario.
  5. Foco en la celda activa para desplazarse por las celdas con el calendario abierto (propiedad: ShowModal = False).

Esto último se consigue con la macro del formulario ControlCal

Private Sub UserForm_Activate()
If FormularioActivo = False Then
AppActivate ("Microsoft Excel")
End If
End Sub[/CODE]

P.D.: Me he permitido la libertad de quitar los botones en la fila con los días de la semana (Lu - Do).

Macrocalendario_PW1.zip

Share this post


Link to post
Share on other sites

[uSER=47802]@pegones1[/uSER] dice:

y con el permiso implícito de @@Macro Antonio, me he permitido modificar sus MACROS

Todo lo contrario Pedro, es un privilegio contar con tu atención en mis aportes.

Saludos, amigo.

.

Share this post


Link to post
Share on other sites
Hola, muchas gracias por el calendario, está espectacular...

adapté el calendario a mi userform, pero me surgió una duda, que puedo hacer para modificar la posición en la que aparece en formulario de fecha, ya que me sale en una esquina. es decir cuales son los códigos que fijan la posición del formulario de fecha para poder moverlo.

[uSER=197892]@Philidor[/uSER] debes tener declaradas e informadas las variables en el formulario UserForm1

Private Sub UserForm_Activate()
AlturaFormulario = Me.Top
IzquierdaFormulario = Me.Left
End Sub[/CODE]

La posición se fija en la macro que inicializa el formulario [b]Calendario[/b]

[CODE]Private Sub UserForm_Initialize()
...
Me.Top = AlturaFormulario + ControlActivo.Top + 20
Me.Left = IzquierdaFormulario + ControlActivo.Left + ControlActivo.Width + 3
End Sub
[/CODE]

Share this post


Link to post
Share on other sites

Hola,

Antes de nada, enhorabuena. Me parece un aporte fantástico y me he registrado en el foro solo para poder disfrutarlo.

Solo dos dudas.

  • En mi caso, sólo aparece el calendario si la celda superior está rellena. Es decir, como si tuviera que ir en orden...
  • Cuando voy moviéndome por las celdas con el cursor, en el momento en que paso por una de las celdas en las que se despliega el calendario, ya no me deja continuar a no ser que pinche en alguna fecha o que, con el ratón, me sitúe en otro sitio.

Estoy haciendo algo mal?

Gracias por adelantado

Share this post


Link to post
Share on other sites

[uSER=209110]@Rafus99[/uSER]:

Creo que tengo una versión para mostrar el calendario a voluntad desde el menú contextual y que puede instalarse como complemento.

Si te interesa dímelo e intentaré buscarlo durante el fin de semana.

Share this post


Link to post
Share on other sites

Hola falta mejorar la parte en que si te desplzas hacia abajo a o derecaha de la hoja mas alla de la pantalla se pierden las coorenanada

Calendario.Top = ActiveCell.Top + 160

Calendario.Left = ActiveCell.Left + 18

por que sigue referenciando con las celdas y no la pantalla...

del resto todo los demas super!.

Share this post


Link to post
Share on other sites



×
×
  • Create New...

Important Information

Privacy Policy