¿Cómo evitar las celdas vacías?

27/09/2004 - 03:25 por Marcelo | Informe spam
hOLA:
¿Cómo puedo evitar que algún otro usuario pueda
(erróneamente)dejar sin completar los datos de una celda,
o sea dejarla vacía?.

Esta celda es del tipo FECHA-HORA que es muy importante
para el posterior cálculo en otra celda. El gran
problema, es que cuando se hace un "ENTER" con el
teclado, queda la celda vacía ,pero igual en la otra
celda hace el cálculo, dando números muy altos.

Traté de hacer eso de FORMATO CONDICIONAL para dejar la
fecha en un rango de dias razonable, pero nada...

Algún truco que salga un cuadro de advertencia (tipo
VALIDACION DE DATOS) que diga " INGRESE LOS DATOS
REQUERIDOS".
 

Leer las respuestas

#1 Héctor Miguel
27/09/2004 - 07:07 | Informe spam
hola, Marcelo !

... evitar que ... pueda (erroneamente) dejar ... una celda ... vacia?.
... es del tipo FECHA-HORA ... importante para el posterior calculo en otra celda [...]
Trate de hacer eso de FORMATO CONDICIONAL ... pero nada...
Algun truco que salga un cuadro de advertencia [...]



considerando que un dato 'fecha-hora' es [tambien] un dato 'numerico' [NO 'texto']...
te expongo en seguida 3 [posibles] 'aternativas' [suponiendo en todos los casos la celda 'A1']
quizas un poquito 'exageradas'
[si te decides por utilizarlas todas, pero... podras encontrarles el 'justo medio'] ;)

saludos,
hector.

1.- por formatos condicionales... 'mantener una alerta visual' cuando el valor de la celda sea 'incorrecto'
condicion -> formula
formula -> =o(esblanco(a1),estexto(a1))
formatos -> [p.e.] fuente negrita/rojo + los 4 bordes + trama color amarillo
2.- 'evitar' que el usuario 'pueda' seleccionar ninguna celda mientras el valor de la celda sea 'incorrecto'
en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_SelectionChange(ByVal Target As Range): Exit Sub
If Not Intersect(Target, [a1]) Is Nothing Then Exit Sub
If IsEmpty([a1]) Or Application.IsText([a1]) Then
MsgBox "La entrada en la celda A1 es incorecta !!!"
[a1].Select
End If
End Sub
3.- 'evitar' que el usuario pueda 'cambiarse de hoja' mientras el valor de la celda sea 'incorrecto'
en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_Deactivate(): Exit Sub
If IsEmpty([a1]) Or Application.IsText([a1]) Then
MsgBox "La entrada en la celda A1 es incorecta !!!"
Me.Activate
[a1].Select
End If
End Sub

Preguntas similares