Chequear celda vacia

31/10/2007 - 18:53 por AgerGaston | Informe spam
Hola a todos.
En forma diaria envio a varios usuarios una misma planilla, los cuales como
devolucion la deben completar con diferentes datos, pero una celda es
obligatoria, la C1.

La pregunta es: como puedo hacer para que cuando el usuario cierre el excel,
la macro chequee que la celda C1, no este vacia?. Que aparezca un msgbox
dando aviso sobre la situacion.

Algo similar a lo que hace la funcion "validacion" (datos -> validacion...),
la celda debe tener un valor numerico, pero me gustaria saber si se puede
validar otros formatos (fecha, texto, etc).

Espero que se entienda.

Gracias y saludos

Preguntas similare

Leer las respuestas

#6 David
02/11/2007 - 21:06 | Informe spam
Primero, chequea en "Herramientas" - "Opciones" - separador "General". La
opción "Nombre de usuario" debe tener tu nombre, lo que podrías utilizar para
poder cerrar el archivo en tu equipo sin que te obligue a ingresar un dato en
esa celda. Copia este nombre, y modifica el código para algo similar a lo
siguiente:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Application.Username <> "David García" then
If Not Application.WorksheetFunction.IsNumber(Range("C1").Value) Then
Cancel = True
Sheets("Hoja1").Activate
Range("C1").Select
End If
End If
End Sub

Luego, podrías verificar que funcione bien tratando de abrirlo y cerrarlo en
otro equipo.



"AgerGaston" wrote:

Hola David, espero que hayas descansado.

Hasta aqui todo ok.

La nueva pregunta es: Cuando yo la envie, no quiero que me chequee la celda
C1, ya que esta validacion, no es para mi, es para el resto de los usuarios.

Espero que se entienda.

Gracias.

Respuesta Responder a este mensaje
#7 AnSanVal
03/11/2007 - 12:32 | Informe spam
Otra opción:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [C3].Value = "" Then
ActiveSheet.ScrollArea = "$C$3"
Else
ActiveSheet.ScrollArea = ""
End If
End Sub

La condición (If...) podrias cambiarla a la que más te convenga.

Saludos desde Tenerife (Islas Canarias).
************************************************
"David" escribió en el mensaje
news:
Supongamos que la hoja donde está la celda a validar se llama "Hoja1".
Desde
el Editor de VisualBasic, haz doble clic en "ThisWorkbook", y escribe o
pega
lo siguiente:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Hoja1").Range("C1").Value = Empty Then
Cancel = True
MsgBox "No se puede cerrar el archivo. Ingrese un dato en C1"
End If
End Sub

Para la segunda pregunta, puedes validar el contenido de la celda. Mírate
en la ayuda las siguientes funciones, y comentas cuál es la más adecuada a
tu
caso:

ESBLANCO(C1)
ESLOGICO(C1)
ESNOTEXTO(C1)
ESNUMERO(C1)
ESTEXTO(C1)
TIPO(C1)

Luego, en algun lugar de tu libro, podrías introducir la formula que se
adapte a tu caso, y tomar decisiones en base al resultado de la misma.

Comentas si tienes más dudas.

Saludos.



"AgerGaston" escribió:

Hola a todos.
En forma diaria envio a varios usuarios una misma planilla, los cuales
como
devolucion la deben completar con diferentes datos, pero una celda es
obligatoria, la C1.

La pregunta es: como puedo hacer para que cuando el usuario cierre el
excel,
la macro chequee que la celda C1, no este vacia?. Que aparezca un msgbox
dando aviso sobre la situacion.

Algo similar a lo que hace la funcion "validacion" (datos ->
validacion...),
la celda debe tener un valor numerico, pero me gustaria saber si se puede
validar otros formatos (fecha, texto, etc).

Espero que se entienda.

Gracias y saludos


Respuesta Responder a este mensaje
#8 AnSanVal
03/11/2007 - 12:39 | Informe spam
Mi aporte anterior presupone que no hay mala intención (se podria escribir
en esa celda, luego las siguientes y por último borrar esa celda). Para
evitar ese comportamiento, puedes combinar con lo aportado por David (u
otras opciones).

Saludos desde Tenerife (Islas Canarias).
************************************************
"AnSanVal" escribió en el mensaje
news:
Otra opción:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [C3].Value = "" Then
ActiveSheet.ScrollArea = "$C$3"
Else
ActiveSheet.ScrollArea = ""
End If
End Sub

La condición (If...) podrias cambiarla a la que más te convenga.

Saludos desde Tenerife (Islas Canarias).
************************************************
"David" escribió en el mensaje
news:
Supongamos que la hoja donde está la celda a validar se llama "Hoja1".
Desde
el Editor de VisualBasic, haz doble clic en "ThisWorkbook", y escribe o
pega
lo siguiente:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Hoja1").Range("C1").Value = Empty Then
Cancel = True
MsgBox "No se puede cerrar el archivo. Ingrese un dato en C1"
End If
End Sub

Para la segunda pregunta, puedes validar el contenido de la celda.
Mírate
en la ayuda las siguientes funciones, y comentas cuál es la más adecuada
a tu
caso:

ESBLANCO(C1)
ESLOGICO(C1)
ESNOTEXTO(C1)
ESNUMERO(C1)
ESTEXTO(C1)
TIPO(C1)

Luego, en algun lugar de tu libro, podrías introducir la formula que se
adapte a tu caso, y tomar decisiones en base al resultado de la misma.

Comentas si tienes más dudas.

Saludos.



"AgerGaston" escribió:

Hola a todos.
En forma diaria envio a varios usuarios una misma planilla, los cuales
como
devolucion la deben completar con diferentes datos, pero una celda es
obligatoria, la C1.

La pregunta es: como puedo hacer para que cuando el usuario cierre el
excel,
la macro chequee que la celda C1, no este vacia?. Que aparezca un msgbox
dando aviso sobre la situacion.

Algo similar a lo que hace la funcion "validacion" (datos ->
validacion...),
la celda debe tener un valor numerico, pero me gustaria saber si se
puede
validar otros formatos (fecha, texto, etc).

Espero que se entienda.

Gracias y saludos








email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida