Validación de datos de celdas con fórmulas

03/03/2008 - 17:36 por asquipe | Informe spam
Hola a todos, mi problema es el siguiente:

Tengo una celda en la que tiene una fórmula introducida y no se puede
modificar. Pues bien, digamos que la fórmula da el valor 4. Lo que yo quiero
hacer es comparar el 4 con el valor de otra celda, y si es distinto, que me
dé un mensaje de error. He probado con la validación poniéndole un mensaje de
error pero sólo me funciona en celdas en las que meto yo el valor
manualmente, no en celdas como ésta que tiene su fórmula metida y no es
modificable.

Un saludo.

Preguntas similare

Leer las respuestas

#1 Juan M
03/03/2008 - 19:05 | Informe spam
Hola,

Las reglas de validación, como has observado, solo se aplican a los valores
introducidos.
Podrías hacer uso de los formatos condicionales para resolver tu problema y
que si no cumpla la condición cambie de color.
También podrías modificar la fórmula para el caso de que no cumpla la
condición escriba un texto de error en la celda.
=si(valor formula<valor objetivo;"Error";valor formula)

Si no te sirve puedes emplear los eventos de hoja como SelectionChange,
Change o Calculate. limitando el mensaje de error a la modificación de las
celdas que influyan en el cálculo de la fórmual que tienes en la celda. Sino
tienes esto en cuenta saltará simpre que ocurra un cambio o un recalculo,...

Si comentas más datos sobre la fórmula...

Un saludo,
Juan


"asquipe" escribió
Hola a todos, mi problema es el siguiente:

Tengo una celda en la que tiene una fórmula introducida y no se puede
modificar. Pues bien, digamos que la fórmula da el valor 4. Lo que yo
quiero
hacer es comparar el 4 con el valor de otra celda, y si es distinto, que
me
dé un mensaje de error. He probado con la validación poniéndole un mensaje
de
error pero sólo me funciona en celdas en las que meto yo el valor
manualmente, no en celdas como ésta que tiene su fórmula metida y no es
modificable.

Un saludo.
Respuesta Responder a este mensaje
#2 asquipe
03/03/2008 - 19:20 | Informe spam
"Juan M" escribió:

Hola,

Las reglas de validación, como has observado, solo se aplican a los valores
introducidos.
Podrías hacer uso de los formatos condicionales para resolver tu problema y
que si no cumpla la condición cambie de color.
También podrías modificar la fórmula para el caso de que no cumpla la
condición escriba un texto de error en la celda.
=si(valor formula<valor objetivo;"Error";valor formula)

Si no te sirve puedes emplear los eventos de hoja como SelectionChange,
Change o Calculate. limitando el mensaje de error a la modificación de las
celdas que influyan en el cálculo de la fórmual que tienes en la celda. Sino
tienes esto en cuenta saltará simpre que ocurra un cambio o un recalculo,...

Si comentas más datos sobre la fórmula...

Un saludo,
Juan



Hola, la fórmula es muy simple, es una multiplicación de dos celdas. Lo que
quiero hacer es que si esa celda que tiene la fórmula, si sale por ej. el
valor 4, si en la otra celda el valor es 5, lo que quiero es k me muestre un
error en la celda que tiene la fórmula si el resultado es menor o igual a 5.

Un saludo.
Respuesta Responder a este mensaje
#3 Juan M
03/03/2008 - 19:51 | Informe spam
Hola,

Si quieres un mensaje,...

Supongo
en B2 tienes el valor objetivo (5)
en E1 tienes la fórmula
en B2 un valor parte de la fórmula de E1
en B3 otro valor de la fórmula

Selcciona la pestaña de la hoja con el botón secundario del ratón y elige
ver código:

Copia el siguiente código:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("B1") Or Target = Range("B2") _
Or Target = Range("B3") Or Target = Range("E1") Then
If Range("E1") <= Range("B1") Then
MsgBox "El resultado es menor", vbCritical, "ERROR!!!!"
End If
End If
End Sub

Un saludo,
Juan


"asquipe" escribió



"Juan M" escribió:

Hola,

Las reglas de validación, como has observado, solo se aplican a los
valores
introducidos.
Podrías hacer uso de los formatos condicionales para resolver tu problema
y
que si no cumpla la condición cambie de color.
También podrías modificar la fórmula para el caso de que no cumpla la
condición escriba un texto de error en la celda.
=si(valor formula<valor objetivo;"Error";valor formula)

Si no te sirve puedes emplear los eventos de hoja como SelectionChange,
Change o Calculate. limitando el mensaje de error a la modificación de
las
celdas que influyan en el cálculo de la fórmual que tienes en la celda.
Sino
tienes esto en cuenta saltará simpre que ocurra un cambio o un
recalculo,...

Si comentas más datos sobre la fórmula...

Un saludo,
Juan



Hola, la fórmula es muy simple, es una multiplicación de dos celdas. Lo
que
quiero hacer es que si esa celda que tiene la fórmula, si sale por ej. el
valor 4, si en la otra celda el valor es 5, lo que quiero es k me muestre
un
error en la celda que tiene la fórmula si el resultado es menor o igual a
5.

Un saludo.
Respuesta Responder a este mensaje
#4 asquipe
03/03/2008 - 20:03 | Informe spam
"Juan M" escribió:


Hola,

Si quieres un mensaje,...

Supongo
en B2 tienes el valor objetivo (5)
en E1 tienes la fórmula
en B2 un valor parte de la fórmula de E1
en B3 otro valor de la fórmula

Selcciona la pestaña de la hoja con el botón secundario del ratón y elige
ver código:

Copia el siguiente código:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("B1") Or Target = Range("B2") _
Or Target = Range("B3") Or Target = Range("E1") Then
If Range("E1") <= Range("B1") Then
MsgBox "El resultado es menor", vbCritical, "ERROR!!!!"
End If
End If
End Sub

Un saludo,
Juan



No hay forma de hacerlo sin tener que recurrir a una macro? Es que la
solución debo buscarla sin macros.

Un saludo,
Respuesta Responder a este mensaje
#5 Juan M
03/03/2008 - 21:01 | Informe spam
Hola,

Las otras dos formas, el formato condicional o la función si no valen?
=si(valor formula<=valor objetivo;"Error";valor formula)

Una última opción sería controlar las otras celdas uqe intervienen al final
salta el error aunque puede ser poco o nada práctica
En el supuesto anterior controlar las celda b1, b2, b3.
en personalizada escribe la fórmula á<±
y poniendo el mensaje de error que quieras.

Un saludo,
Juan

"asquipe" escribió



No hay forma de hacerlo sin tener que recurrir a una macro? Es que la
solución debo buscarla sin macros.

Un saludo,

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida