Mensaje de Error en Validación

10/05/2007 - 14:50 por Anibal | Informe spam
Hola a todos.

Quisiera saber si el mensaje de error en una validación pueden ser dos
mensajes distintos según sea el error.

Quiero cargar en tres celdas porcentajes que entre ellas sumen 100 ej.
A1..A3 solo si la suma de las celdas B1..B3 da 0
En este caso el mensaje de error podría ser 1) la suma de A1..A3
excede el 100% ó 2) la suma de B1..B3 es mayor que 0.

Hay forma que el mensaje de error diga "exede el 100%" cuando la suma
de A1..A3 sea > 100
ó "borre las celdas B1..B3" cuando la suma de B1..B3 sea mayor que 0.

Espero que se entienda lo que necesito. Muchas Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
10/05/2007 - 20:02 | Informe spam
hola, Anibal/Ruben ?

Quisiera saber si el mensaje de error en una validacion pueden ser dos mensajes distintos segun sea el error.
Quiero cargar en tres celdas porcentajes que entre ellas sumen 100 ej. A1..A3 solo si la suma de las celdas B1..B3 da 0
En este caso el mensaje de error podria ser 1) la suma de A1..A3 excede el 100% o 2) la suma de B1..B3 es mayor que 0.

Hay forma que el mensaje de error diga "exede el 100%" cuando la suma de A1..A3 sea > 100
o "borre las celdas B1..B3" cuando la suma de B1..B3 sea mayor que 0.

Espero que se entienda lo que necesito. Muchas Gracias



1) no creo que puedas 'condicionar' el mensaje de error en reglas de validacion... o modificarlo 'al vuelo'
-> a menos que te apoyes con el uso de macros y los eventos de hoja
[con lo que perderias la posibilidad de deshacer acciones desde la interfase con el usuario] :-((

2) considera que las reglas de validacion solo funcionan para entradas 'directas' del usuario [no cuando copia/pega o codigos]
por lo que si se borra [p.e.] el contenido del rango 'B1:B3' despues de haber introducido datos en 'A1:A3'... -???-

3) [creo que] lo mas 'conveniente' es usar un solo mensaje de error enunciando los 'limites/efectos/...' para cada rango -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Anibal
15/05/2007 - 01:10 | Informe spam
On 10 mayo, 15:02, "Héctor Miguel"
wrote:
hola, Anibal/Ruben ?

> Quisiera saber si el mensaje de error en una validacion pueden ser dos mensajes distintos segun sea el error.
> Quiero cargar en tres celdas porcentajes que entre ellas sumen 100 ej. A1..A3 solo si la suma de las celdas B1..B3 da 0
> En este caso el mensaje de error podria ser 1) la suma de A1..A3 excede el 100% o 2) la suma de B1..B3 es mayor que 0.

> Hay forma que el mensaje de error diga "exede el 100%" cuando la suma de A1..A3 sea > 100
> o "borre las celdas B1..B3" cuando la suma de B1..B3 sea mayor que 0.

> Espero que se entienda lo que necesito. Muchas Gracias

1) no creo que puedas 'condicionar' el mensaje de error en reglas de validacion... o modificarlo 'al vuelo'
-> a menos que te apoyes con el uso de macros y los eventos de hoja
[con lo que perderias la posibilidad de deshacer acciones desde la interfase con el usuario] :-((

2) considera que las reglas de validacion solo funcionan para entradas 'directas' del usuario [no cuando copia/pega o codigos]
por lo que si se borra [p.e.] el contenido del rango 'B1:B3' despues de haber introducido datos en 'A1:A3'... -???-

3) [creo que] lo mas 'conveniente' es usar un solo mensaje de error enunciando los 'limites/efectos/...' para cada rango -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Hola Hector

Muchas gracias por tu ayuda

Te cuento que ya tengo confeccionada la validación con el mensaje de
error (incluyendo los dos errores posibles).

En tu comentario 1) -> a menos que te apoyes con el uso de macros y
los eventos de hoja. Con respecto a este punto, cualquier dato que
ingrese en esas celdas me ejecuta una macro que redimensiona las areas
de impresión y es la siguiente: (hay unas lineas como comentario que
quiero que filtre una hoja y no puedo hacer funcionar porque no
termina nunca) o sea que ya no puedo deshacer.

Option Explicit

Private Sub Worksheet_Calculate()
Worksheet_Change Range("Cant_ha")
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim H As Long
H = Range("Val_ha").Value

Application.ScreenUpdating = False 'Desavilita el redibujado de
pantalla
Dim CeldaItem As Range
Set CeldaItem = ActiveCell

' Determina el evento para observar una celda
If Target.Address = Range("Cant_ha").Address Then

' Accion a tomar
Select Case Target.Value
Case Is <> H
Application.Goto Reference:="Cant_ha"
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'MsgBox "Espere mientras se establece el area de
impresión de los analisis"
Application.OnTime Now + TimeValue("00:00:01"),
"Actual_areaa"
Application.OnTime Now + TimeValue("00:00:01"),
"Actual_areab"
Application.OnTime Now + TimeValue("00:00:01"),
"Actual_areac"

End Select

End If
With CeldaItem
.Parent.Activate
.Activate
End With
'Application.Goto Reference:="Filpla"
'Application.OnTime Now + TimeValue("00:00:01"),
"Quita_filtro"
'Application.OnTime Now + TimeValue("00:00:05"),
"Filtra"

Application.ScreenUpdating = True 'Habilita el redibujado de pantalla

End Sub

En el punto 2) por lo que si se borra [p.e.] el contenido del rango
'B1:B3' despues de haber introducido datos en 'A1:A3'... Este caso no
podría ser porque si quiero cargar porcentajes en las celdas A1:A3
deben estar vacias las celdas B1:B3 antes de poder cargar A1:A3 y en
el caso de cargar cantidades en las celdas B1:B3 deben estar vacias
antes las celdas A1:A3. En el caso que se borre por descuido algún
dato de las celdas de % con una formula y un cuadro de texto me
advierte que faltan datos para el 100 %. En el caso que se borre algún
dato de las cantidades sin querer no hay forma de advertir el error.

Debo aclarar que los datos a cargar no precisamente deben ser de los
tres materiales porque hay casos que solo existe un solo tipo de
material = 100% ó dos tipos solamente.

Comentado esto y al espera de ser comprendido, hay forma que el
mensaje de error lo lea de una celda de la hoja ?

Sin más que contar agradezco tu interés y disposición para ayudar.
Respuesta Responder a este mensaje
#3 Héctor Miguel
15/05/2007 - 01:51 | Informe spam
hola, ?

... hay forma que el mensaje de error lo lea de una celda de la hoja ?



[p.e.]
MsgBox [a1]
MsgBox Range("a1")
MsgBox Worksheets("hoja oculta").Range("c15")

si el texto/contenido/... de la celda con el mensaje es +/- largo -?-
puedes 'partirlo' [en la misma celda] al menos de 2 formas:

1) pulsando {Alt}+{Enter} para cada salto de linea en el texto dentro de la misma celda
2) usando una formula y haciendo 'saltos de linea' intercalando la funcion caracter(10)

ejemplos: usando una instruccion MsgBox [a1]

lo presenta en una sola linea:
[A1] Este es un mensaje muy largo para expresarlo una sola linea de texto en el MsgBox

partiendo el mensaje en dos lineas op1:
[A1] Este es un mesaje muy largo que se expresara{Alt}+{Enter}
en dos lineas de texto en el MsgBox

partiendo el mensaje en dos lineas op2:
[A1] ="Este es un mesaje muy largo que se expresara"&CARACTER(10)&"en dos lineas de texto en el MsgBox"

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida