Se trata de conseguir un cuarto formato condicional

15/07/2009 - 21:23 por José-Luis | Informe spam
Hola a todos
En excel 2003.
Se trata de conseguir un cuarto formato condicional no disponible (o no lo
logro) en la versión 2003.
Quisiera cambiar el color de la celda en función del dato introducido en
otra y a su vez en la misma que tiene que cambiar de color. El ejemplo sería:
Dato a introducir en la celda E9 "SI" o "NO" a partir de una mínima lista de
validación sin más opciones.
Dato numérico (cualquier número positivo) a introducir en la celda J9.
Pues bien si el valor de la celda E9 es "SI" el color de la J9 siempre
deberá ser rojo sea cual sea su valor.
Si el valor de la celda E9 es NO pueden entrar la siguientes condiciones:
SI J9 >= 1200000 también debe ser rojo el color
SI J9 está entre 300000 y 1199999,99 debe ser amarillo
Si J9 <300000 debe ser verde.
Todo esto si no estuviese vinculado al "SI" o "No" inicial lo tengo claro
pero no se vincularlo con la primera condición que nace en la celda E9.
La única cosa que se me ocurre es dar el color verde de fondo como color
"inicial" de la celda pero me gustaría conseguir que estuviese en blanco como
el resto de la hoja y cambiase según las situaciones.
Gracias por vuestra ayuda
José-Luis

Preguntas similare

Leer las respuestas

#6 José-Luis
15/07/2009 - 22:50 | Informe spam
Hola Héctor

Ya se que el 2007 me "da" más condiciones y más columnas entre otras cosas.
Precisamente es por el 2003 por lo que voy de cabeza ya que en mi empresa
este es el que está homologado (vamos un poco "retrasados"). Estuve bastante
tiempo resolviendo un problema con la "limitación" de las 256 columnas...
Lo de hacer "compartidas" algunas condiciones... si me dices por dónde vas.
Saludos y gracias otra vez
José-Luis

"Héctor Miguel" wrote:

hola (de nuevo), José Luis !

para el color de la celda usando los formatos condicionales...

-> en la version 2007 tienes diponibles hasta 64 condiciones de formato

-> en las versiones 97 a 2003...
a) dispones de 3 formatos diferentes MAS el formato que tengas ya aplicado
b) podrias utilizar macros... o hacer "compartidas" algunas condiciones (si fuera convenientey posible)
c) podrias instalar un complemento de terceros:
-> http://www.xldynamic.com/source/xld...nload.html

si cualquier duda (o informacion adicional)... comentas ?
saudos,
hector.



Respuesta Responder a este mensaje
#7 Héctor Miguel
16/07/2009 - 03:55 | Informe spam
hola, José Luis !

... funciona... pero la pregunta iba por lo del "relleno" de la celda...
... Donde veo los colores disponibles? Se puede anadir el tipo "negrita" al texto? ...



(hasta donde se) no se puede administrar la propiedad "negrita" por medio de este tipo de formatos :-((

los colores disponibles los puedes consultar en la ayuda en linea {F1}
(codigos basicos de formato de numero) y son los siguientes:

negro, azul, aguamarina, verde, fucsia, rojo, blanco, amarillo
todos delimitados por corchetes y como primer elemento de grupo en el formato de numero

saludos,
hector.
Respuesta Responder a este mensaje
#8 Héctor Miguel
16/07/2009 - 04:09 | Informe spam
hola, José Luis !

Lo de hacer "compartidas" algunas condiciones... si me dices por donde vas...



considera que los formatos condicionales (solo) requieren de una "expresion" que pueda ser evaluada como verdadero
y que al cumplirse alguna de las condiciones, las demas ya NO son evaluadas (el orden es importante), entonces...

con base en las condiciones de formato que comentas en tu consulta original:
... si... E9 es "SI" el color de la J9 siempre debera ser rojo sea cual sea su valor
Si el valor de la celda E9 es NO pueden entrar la siguientes condiciones:
SI J9 >= 1200000... debe ser rojo el color
SI J9 esta entre 300000 y 1199999,99 debe ser amarillo
Si J9 <300000 debe ser verde.





tendrias que aplicar 3 condiciones de formato al color de la celda +/- como sigue:
no se si prefieras condicionar al contenido de [E9] como ="no" o como <>"si" (?)

verde: =y(e9<>"si",,j9<300000)
rojo: =o(e9="si",j9>00000)
amarillo: =y(e9<>"si",j9<1200000)

saludos,
hector.
Respuesta Responder a este mensaje
#9 Mario López
16/07/2009 - 14:41 | Informe spam
José Luis:

también podés utilizar VBA para crear tus propios formatos condicionales,
usando algo como:


Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim r As Range

Application.EnableEvents = False

Set r = Application.Intersect(Range("B2:B10"), Target) : Rem acá iría el rango de celdas con el "formato condicional"
If Not r Is Nothing Then
Select Case Target.Value
' Acá indicarías cada uno de los valores del rango y el color del mismo en formato RGB
Case Is > 0.07
Target.Font.Color = RGB(255, 0, 0): Rem Color1
Target.Font.Bold = True : Rem Negrita
Target.Interior.ColorIndex = 6 :Rem Color del fondo de la celda
Case Is > 0.05
Target.Font.Color = RGB(200, 0, 0): Rem Color2
Case Is > 0.025
Target.Font.Color = RGB(128, 0, 0): Rem Color3
'case ...
Case Else
Target.Font.ColorIndex = xlAutomatic
Target.Font.Bold = False
End Select
End If

Application.EnableEvents = True

End Sub


HTH
Mario

On Wed, 15 Jul 2009 13:41:01 -0700, José-Luis wrote:

Hola Héctor
Eres un genio.
Lo he probado y funciona como lo has descrito, es decir bien, pero la
pregunta iba por lo del "relleno" de la celda. Con tu solución me puedo
apañar pues consigo algo parecido a lo que buscaba pero los colores -si no
hay solución para el relleno- los debo cambiar (amarillo sobre blanco se ve
poco). ¿Dónde veo los colores disponibles? ¿Se puede añadir el tipo "negrita"
al texto?
Saludos y gracias por tu ayuda.
José-Luis


"Héctor Miguel" wrote:

hola, José Luis !

> ... conseguir un cuarto formato condicional no disponible (o no lo logro) en la version 2003...
> ... en la celda E9 "SI" o "NO"... lista de validacion sin mas opciones.
> Dato numerico (cualquier numero positivo) a introducir en la celda J9.
> ... si... E9 es "SI" el color de la J9 siempre debera ser rojo sea cual sea su valor.

1) aplica un formato condicional (solamente) cuando D9 sea "si" (p.e.)
[J9] é="si"

> Si el valor de la celda E9 es NO pueden entrar la siguientes condiciones:
> SI J9 >= 1200000... debe ser rojo el color
> SI J9 esta entre 300000 y 1199999,99 debe ser amarillo
> Si J9 <300000 debe ser verde.

2) define/dear/... y aplica un formato numerico personalizado +/- como el siguiente:
[Verde][<300000]#,##0.00;[Amarillo][<1200000]#,##0.00;[Rojo]#,##0.00

OJO: los punto_y_coma que separan los colores son parte integral del formato (sin importar configuracion regional)
PERO... los separadores (miles y decimales) SI dependen de tu configuracion regional (mi sistema usa coma=miles, punto=decimales)

y lo anterior asumiendo que el color se aplica solamente al texto (NO al fondo de la celda, <= OJO)

saludos,
hector.



Respuesta Responder a este mensaje
#10 José-Luis
18/07/2009 - 18:58 | Informe spam
Gracias a todos
José-Luis

"Mario López" wrote:

José Luis:

también podés utilizar VBA para crear tus propios formatos condicionales,
usando algo como:


Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim r As Range

Application.EnableEvents = False

Set r = Application.Intersect(Range("B2:B10"), Target) : Rem acá iría el rango de celdas con el "formato condicional"
If Not r Is Nothing Then
Select Case Target.Value
' Acá indicarías cada uno de los valores del rango y el color del mismo en formato RGB
Case Is > 0.07
Target.Font.Color = RGB(255, 0, 0): Rem Color1
Target.Font.Bold = True : Rem Negrita
Target.Interior.ColorIndex = 6 :Rem Color del fondo de la celda
Case Is > 0.05
Target.Font.Color = RGB(200, 0, 0): Rem Color2
Case Is > 0.025
Target.Font.Color = RGB(128, 0, 0): Rem Color3
'case ...
Case Else
Target.Font.ColorIndex = xlAutomatic
Target.Font.Bold = False
End Select
End If

Application.EnableEvents = True

End Sub


HTH
Mario

On Wed, 15 Jul 2009 13:41:01 -0700, José-Luis wrote:

>Hola Héctor
>Eres un genio.
>Lo he probado y funciona como lo has descrito, es decir bien, pero la
>pregunta iba por lo del "relleno" de la celda. Con tu solución me puedo
>apañar pues consigo algo parecido a lo que buscaba pero los colores -si no
>hay solución para el relleno- los debo cambiar (amarillo sobre blanco se ve
>poco). ¿Dónde veo los colores disponibles? ¿Se puede añadir el tipo "negrita"
>al texto?
>Saludos y gracias por tu ayuda.
>José-Luis
>
>
>"Héctor Miguel" wrote:
>
>> hola, José Luis !
>>
>> > ... conseguir un cuarto formato condicional no disponible (o no lo logro) en la version 2003...
>> > ... en la celda E9 "SI" o "NO"... lista de validacion sin mas opciones.
>> > Dato numerico (cualquier numero positivo) a introducir en la celda J9.
>> > ... si... E9 es "SI" el color de la J9 siempre debera ser rojo sea cual sea su valor.
>>
>> 1) aplica un formato condicional (solamente) cuando D9 sea "si" (p.e.)
>> [J9] é="si"
>>
>> > Si el valor de la celda E9 es NO pueden entrar la siguientes condiciones:
>> > SI J9 >= 1200000... debe ser rojo el color
>> > SI J9 esta entre 300000 y 1199999,99 debe ser amarillo
>> > Si J9 <300000 debe ser verde.
>>
>> 2) define/dear/... y aplica un formato numerico personalizado +/- como el siguiente:
>> [Verde][<300000]#,##0.00;[Amarillo][<1200000]#,##0.00;[Rojo]#,##0.00
>>
>> OJO: los punto_y_coma que separan los colores son parte integral del formato (sin importar configuracion regional)
>> PERO... los separadores (miles y decimales) SI dependen de tu configuracion regional (mi sistema usa coma=miles, punto=decimales)
>>
>> y lo anterior asumiendo que el color se aplica solamente al texto (NO al fondo de la celda, <= OJO)
>>
>> saludos,
>> hector.
>>
>>
>>

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