¿Se puede poner una máscara de entrada a una celda, tal y como se hace en
las tablas de access?
He podido ver que se puede asiganr una serie de valores en las opciones de
validacion de datos... Que se puede forzar a colocarle un formato
determinado a las celda, pero no he podido encontrar la manera de "obligar"
al usuario a escribir dd/mm/yyyy, por ejemplo en una celda.
Me gustaría poder obligar a escribir una fecha en un formato determinado,
así como a entrar un DNI con el formato 00000000C.....
Gracias de Antemano....
Gustavo Cáceres
> Se puede poner una mascara de entrada a una celda, tal y como se hace en las tablas de access?
> He podido ver que se puede asiganr una serie de valores en las opciones de validacion de datos...
> Que se puede forzar a colocarle un formato determinado a las celda
> pero no he podido encontrar la manera de "obligar" al usuario a escribir dd/mm/yyyy, por ejemplo en una celda.
> Me gustaria poder obligar a escribir una fecha en un formato determinado, asi como a entrar un DNI con el formato 00000000C.....
1) considera dos o tres detalles, porque hay algunos 'gustos' [o necesidades] que podrian 'costar' bastante [p.e.]
a) excel es un programa [general/preferente]mente utilizado para realizar calculos
b) NO es 'su fuerte', aplicar 'mascaras/formatos/... en celdas de manera 'previa' a la entrada de los datos 'reales'
c) hablando de fechas... es probable que el 'orden' al que "obligas" [dd/mm/yyyy] sea diferente para otros usuarios/pc's/...
es conveniente visitar la siguiente exposicion de manejos de fechas [de Stephen Bullen]:
-> http://www.bmsltd.ie/ExcelProgRef/Ch22/default.htm
[... etc. etc. etc.] ;)
2) es probable que te salga mas *barato* aprovechar un mensaje de reglas de validacion para notificar al usuario dicha "obligacion" -?-
3) si de todas formas requieres [al menos intentar] una forma por codigos para *forzar* [solo visual y previamente] al usuario...
prueba copiando/pegando las siguientes instrucciones en el modulo de codigo de *esa* hoja
-> suponiendo que el rango en donde requieres de esa precisa forma de entrada fuera 'A2:A5'
y solo como ejemplo el que se refiere a las fechas [ajusta/agrega/modifica/complementa/... como sea necesario]
Private Const DateFormat As String = "dd/mm/aaaa"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Anterior As Range
On Error Resume Next
If Anterior.Address <> ActiveCell.Address And Anterior = DateFormat _
Then Anterior.ClearContents: Set Anterior = ActiveCell
If Not Intersect(Target, Range("a2:a5")) Is Nothing Then
If Target.Count > 1 Then ActiveCell.Select
If IsEmpty(ActiveCell) Then ActiveCell = DateFormat: Set Anterior = ActiveCell
End If
End Sub
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Voy a tomar la opción del código VB, y a ver cómo reacciona el usuario ante
él...
Tengo que comprobar que no le aparecen mensajes del tipo de seguridad de
macros etc....
Probaré en local varios supuesto y veré si es conveniente.,...
Perfectamente entendido la funcion de Excel.. pero uno tiende a unificar
funcionalidades a todos los programas del microsoft... ;)
Saludos, y te cuento en cuanto tenga algo en firme....
Gracias de nuevo...
Gustavo Cáceres
"Héctor Miguel" <NOhemio...@PLShotmail.com> escribió en el mensaje
news:%23diS46Y...@TK2MSFTNGP02.phx.gbl...
Que de código sería necesario para poder emular lo que necesito....
Más sabe el diablo por viejo que por diablo.. (Me refiero a la experiencia..
jejejeje)
Voy a recurrir, a los mensajes de validadción de datos de las celdas, para
poder guiar al usuario a rellenar las mismas....
No veo la luz dentro del tunel de tanto tipo de control para "Forzar" a
escribir lo que yo quiero.. ;)
Muchas gracias por todo....
Saludos..
Gustavo Cáceres
"Héctor Miguel" <NOhemio...@PLShotmail.com> escribió en el mensaje
news:%23diS46Y...@TK2MSFTNGP02.phx.gbl...