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

problemas con calendario

Ver el tema anterior Ver el tema siguiente Ir abajo

problemas con calendario

Mensaje por xanxo el Vie Mar 27, 2015 9:04 am

Tengo un código de John Walkenbach recopilado por el master Gali que creaste que es un for que contiene un calendario y al clicar una fecha me la pone en un Textbox o lo que quieras (que te cuento a ti que no sepas ...jejejeje) la cuestión es que funciona de vicio hasta el memento en que traspaso el valor del textbox a la pagina que guarda los datos:
En el Form mestra el formato dd,mm,yy al traspasarlo en la hoja me los guarda mm,dd,yy si el dia elegido es menor o igual a 12 si va entre 13 y 31 lo pone bien dd,mm,yy
Mil gracias por todo

xanxo

Masculino Cantidad de envíos : 6
Edad : 55
Ciudad - Pais : s.c. tenerife
Version de Excel : 2010
Fecha de inscripción : 27/03/2015

Volver arriba Ir abajo

Re: problemas con calendario

Mensaje por moises melgar el Sáb Mar 28, 2015 5:40 am

lo que sucede que el textbox representa el valor como texto no como fecha

Posibles soluciones:

Solucion 1. En la celda donde se traspasa el valor cambia de formato general o fecha al formato Texto, complementas con una celda (esta si estara formato fecha) que contenga la formula =valor() para sacar el valor de la celda en texto
ejemplo: referencia de textbox a celda"A3" este esta en formato texto y en la celda "A1" colocar =valor(A3), asi en A1 te mostrara la fecha

Solucion 2. no he visto el form pero en la parte donde pasa el valor al Texbox modificalo o copiarlo para que en vez de obtener el dato del Texboxt, lo obtenga directo del calendario.

Solucion 3. si usa el textbox formato dd/mm/aaaa, por medio de una pequeña modificacion al codigo extraer los valores individuales del Textbox (dia mes y año) y con dateserial convertirlos a fecha.
la modificacion del codigo seria agregando:

Dim dia, mes, año, fecha
If Len(TextBox1.Value) = 10 Then '<---el textbox escribe dd/mm/aaaa (10 caracteres)
'definimos nuestros datos:
dia = Left(TextBox1.Value, 2) ' <---es la funcion izquierda de excel en vba
mes = Mid(TextBox1.Value, 4, 2) ' <---es la funcion extrae de excel en vba
año = Right(TextBox1.Value, 4) ' <---es la funcion derecha de excel en vba
fecha = DateSerial(año, mes, dia)' <---es la funcion fecha de excel en vba
Range("A1").Value = fecha '<----suponiendo que en la hoja activa el rango A1 se colocara el dato
End If

moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 512
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: problemas con calendario

Mensaje por xanxo el Sáb Mar 28, 2015 5:24 pm

Mil gracias he tenido que implementar la tercera opción (la ley de Murphy siempre se cumple jejeje) la primera y la segunda ya las había probado pero sin tu ayuda no lo hubiera sacado.
Reitero mis agradecimientos.

xanxo

Masculino Cantidad de envíos : 6
Edad : 55
Ciudad - Pais : s.c. tenerife
Version de Excel : 2010
Fecha de inscripción : 27/03/2015

Volver arriba Ir abajo

Re: problemas con calendario

Mensaje por Contenido patrocinado Hoy a las 12:39 pm


Contenido patrocinado


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.