Forzar formato fecha

23/02/2006 - 15:40 por nEk | Informe spam
Hola!
Quiero que en varias celdas que tienen formato de fecha (dd/mm/aaaa) me
obligue a introducir la fecha en este formato. Intento explicarme mejor:
Ahora me introducen 25 y lo convierte a la fecha 25/01/1900 (tambien me
pueden introducir una cadena de texto), lo que yo quiero es que
obligatoriamente me tengan que introducir el dia mes y año (En access seria
una mascara de entrada) y si no cumplen ese formato que diese un mensaje de
error.

Supongo que es posible hacerlo (aunque sea por codigo vba) pero no doy con
ello.

Gracias x tu tiempo!

Preguntas similare

Leer las respuestas

#1 big
23/02/2006 - 15:45 | Informe spam
menu datos, validacion.
No es una solución perfecta, pero...


"nEk" escribió en el mensaje
news:
Hola!
Quiero que en varias celdas que tienen formato de fecha (dd/mm/aaaa) me
obligue a introducir la fecha en este formato. Intento explicarme mejor:
Ahora me introducen 25 y lo convierte a la fecha 25/01/1900 (tambien me
pueden introducir una cadena de texto), lo que yo quiero es que
obligatoriamente me tengan que introducir el dia mes y año (En access
seria
una mascara de entrada) y si no cumplen ese formato que diese un mensaje
de
error.

Supongo que es posible hacerlo (aunque sea por codigo vba) pero no doy con
ello.

Gracias x tu tiempo!
Respuesta Responder a este mensaje
#2 nEk
24/02/2006 - 09:01 | Informe spam
Me sirve para poder validar que la fecha esta entre dos fechas determinadas,
que sea igual a una fecha,etc y me sirve para que no puedan introducir un
texto pero si me pueden introducir un número que no tenga el formato
(dd/mm/aaaa) y excel me lo convierte en una fecha. Esto último es lo que
quiero evitar.
Obligar a el formato dd/mm/aaaa.

"big" escribió:

menu datos, validacion.
No es una solución perfecta, pero...


"nEk" escribió en el mensaje
news:
> Hola!
> Quiero que en varias celdas que tienen formato de fecha (dd/mm/aaaa) me
> obligue a introducir la fecha en este formato. Intento explicarme mejor:
> Ahora me introducen 25 y lo convierte a la fecha 25/01/1900 (tambien me
> pueden introducir una cadena de texto), lo que yo quiero es que
> obligatoriamente me tengan que introducir el dia mes y año (En access
> seria
> una mascara de entrada) y si no cumplen ese formato que diese un mensaje
> de
> error.
>
> Supongo que es posible hacerlo (aunque sea por codigo vba) pero no doy con
> ello.
>
> Gracias x tu tiempo!



Respuesta Responder a este mensaje
#3 big
25/02/2006 - 10:21 | Informe spam
pero... si copian y pegan en esa celda la validación no funcionará :-(


"nEk" escribió en el mensaje
news:
Me sirve para poder validar que la fecha esta entre dos fechas
determinadas,
que sea igual a una fecha,etc y me sirve para que no puedan introducir un
texto pero si me pueden introducir un número que no tenga el formato
(dd/mm/aaaa) y excel me lo convierte en una fecha. Esto último es lo que
quiero evitar.
Obligar a el formato dd/mm/aaaa.

"big" escribió:

menu datos, validacion.
No es una solución perfecta, pero...


"nEk" escribió en el mensaje
news:
> Hola!
> Quiero que en varias celdas que tienen formato de fecha (dd/mm/aaaa) me
> obligue a introducir la fecha en este formato. Intento explicarme
> mejor:
> Ahora me introducen 25 y lo convierte a la fecha 25/01/1900 (tambien me
> pueden introducir una cadena de texto), lo que yo quiero es que
> obligatoriamente me tengan que introducir el dia mes y año (En access
> seria
> una mascara de entrada) y si no cumplen ese formato que diese un
> mensaje
> de
> error.
>
> Supongo que es posible hacerlo (aunque sea por codigo vba) pero no doy
> con
> ello.
>
> Gracias x tu tiempo!



Respuesta Responder a este mensaje
#4 Héctor Miguel
26/02/2006 - 08:15 | Informe spam
hola, 'anonimo/a' !

Quiero que en varias celdas que tienen formato de fecha (dd/mm/aaaa) me obligue a introducir la fecha en este formato
Ahora me introducen 25 y lo convierte a la fecha 25/01/1900 (tambien me pueden introducir una cadena de texto)
lo que yo quiero es que obligatoriamente me tengan que introducir el dia mes y a#o
(En access seria una mascara de entrada) y si no cumplen ese formato que diese un mensaje de error.
Supongo que es posible hacerlo (aunque sea por codigo vba) pero no doy con ello.



considerando que NO es 'el fuerte' de excel... andar 'enmascarando' las entradas previas del usuario :-(
[aunque es posible 'simularlo' por medio de algunos pasos via codigo y eventos]...
prueba con alguna de las siguientes alternativas...

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

1) puedes incrustar un control DTPicker [Date&Time] o... un control Calendar...
puede ser 'directamente' en una hoja de calculo o... a traves de un formulario de usuario
2) [p.e. en la hoja]: [menu] insertar / objeto... o desde la barra de herramientas 'cuadro de controles' / mas controles...
control calendar x.x [segun la version de office] o...
Microsoft Date and Time Picker x.x [SPx] -segun numero de version y service-pack del archivo-

1) suponiendo que seleccionaste el control calendario [incrustado en la hoja]...
y deseas que se muestre SOLO si [en esa hoja] se selecciona de entre el rango 'A1:A5'...
y que el resultado de la seleccion se ponga en la celda 'activa'...
en el modulo de codigo de 'esa' hoja ==Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Width + 5
Calendar1.Visible = Not Intersect(ActiveCell, Range("a1:a5")) Is Nothing
End Sub
Private Sub Calendar1_Click()
ActiveCell = CDate(Calendar1)
End Sub

2) suponiendo que seleccionaste el control calendario [incrustado en la hoja]...
y deseas que se muestre SOLO si [en esa hoja] se selecciona de entre el rango 'B1:B4' y 'C7'...
y que el resultado de la seleccion se ponga en la celda 'activa'...
en el modulo de codigo de 'esa' hoja ==Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With DTPicker1
.Visible = Not Intersect(Target, Range("b2:b4,c7")) Is Nothing
.Top = Target.Top - 1: .Left = Target.Left + Target.Width + 2
End With
End Sub
Private Sub DTPicker1_Change()
ActiveCell = CDate(DTPicker1)
End Sub

p.d. el control DTPicker requiere que esta instalado y registrado...
-> el componente [+/- C:\Windows\System[32]\mscomct2.ocx]...
el control calendar requiere que este instalado y registrado...
-> el componente [C:\Archivos de programa\Microsoft Office x.0\Officexx\MSCal.ocx]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida