Máscara de entrada en una Celda

28/07/2007 - 14:22 por Gustavo Cáceres | Informe spam
Hola de nuevo...

¿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
 

Leer las respuestas

#1 Héctor Miguel
29/07/2007 - 05:15 | Informe spam
hola, Gustavo !

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.

Preguntas similares