FORMATO CONDICIONAL de mas de 3

21/07/2004 - 22:57 por lamarse | Informe spam
Hola a todos. He estado buscando en estas NEWS pero no he sabido ver si la
respuesta a mi duda ya esta expuesta.

¿Existe alguna forma de alargar el Formato Condicional a mas de 3
posibilidades? Se me queda corto. Yo necesitaria al menos 4.

El caso es que tengo 4 posibilidades (ideal serian 7) para introducir en
una celda:

Angel
Victor
Bernat
Alex

donde si es ANGEL quiero que me pinte la celda de un color y le de un
formato al texto concreto. Lo mismo (pero otros colores y formatos) para
Victor, bernat y Alex. Y asi. Como toque final, quiero que si no hay
escrito nada que simplemente me deje la celda LIMPIA.

He visto en las news la posibilidad de hacer esto con código, aunque veo
que seria más facil aplicar los formatos cond. a una celda (que estos sean
7 en total) y asi poder copiar esta celda a cualquier otra que necesite
(en mi caso, muchas!! mas de 30!!). Veo que si lo hago por código tendria
que escribir mucho código (o MACROS) por cada celda que quiera los 4 (o 7)
formatos condicionales.

¿Alguna idea?

Muchas gracias por adelantado.

Victor

Preguntas similare

Leer las respuestas

#1 Leandro
22/07/2004 - 16:07 | Informe spam
El formato condicional solo tiene 3 posibilidades.
Lo único que se me ocurre es que por medio de código le
asignes formato a tus celdas cuando se cumplan
determinadas codiciones.

saludos
Hola a todos. He estado buscando en estas NEWS pero no he


sabido ver si la
respuesta a mi duda ya esta expuesta.

¿Existe alguna forma de alargar el Formato Condicional a


mas de 3
posibilidades? Se me queda corto. Yo necesitaria al menos


4.

El caso es que tengo 4 posibilidades (ideal serian 7)


para introducir en
una celda:

Angel
Victor
Bernat
Alex

donde si es ANGEL quiero que me pinte la celda de un


color y le de un
formato al texto concreto. Lo mismo (pero otros colores y


formatos) para
Victor, bernat y Alex. Y asi. Como toque final, quiero


que si no hay
escrito nada que simplemente me deje la celda LIMPIA.

He visto en las news la posibilidad de hacer esto con


código, aunque veo
que seria más facil aplicar los formatos cond. a una


celda (que estos sean
7 en total) y asi poder copiar esta celda a cualquier


otra que necesite
(en mi caso, muchas!! mas de 30!!). Veo que si lo hago


por código tendria
que escribir mucho código (o MACROS) por cada celda que


quiera los 4 (o 7)
formatos condicionales.

¿Alguna idea?

Muchas gracias por adelantado.

Victor

.

Respuesta Responder a este mensaje
#2 Fernando Arroyo
23/07/2004 - 11:28 | Informe spam
El máximo de formatos condicionales son tres, cuatro si se considera el formato de la celda para el caso de que no se cumpla ninguna de las condiciones de los formatos.

Para lo que necesitas, es necesario, como tú mismo dices, recurrir a VBA, pero _no_ hace falta escribir código para cada una de las treinta celdas. Prueba el siguiente código, el cual va en el módulo de la hoja (click derecho sobre su etiqueta->Ver código):


Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, [A1:A30]) Is Nothing Then Exit Sub
Select Case Target
Case "Angel"
Target.Interior.ColorIndex = 10
Case "Victor"
Target.Interior.ColorIndex = 11
Case "Bernal"
Target.Interior.ColorIndex = 12
Case "Alex"
Target.Interior.Color = 13
'
' más "cases"
'
Case Else
Target.Interior.ColorIndex = xlColorIndexNone
End Select
End Sub


En este caso, el rango de celdas a evaluar sería A1:A30

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Victor" escribió en el mensaje news:
Hola a todos. He estado buscando en estas NEWS pero no he sabido ver si la
respuesta a mi duda ya esta expuesta.

¿Existe alguna forma de alargar el Formato Condicional a mas de 3
posibilidades? Se me queda corto. Yo necesitaria al menos 4.

El caso es que tengo 4 posibilidades (ideal serian 7) para introducir en
una celda:

Angel
Victor
Bernat
Alex

donde si es ANGEL quiero que me pinte la celda de un color y le de un
formato al texto concreto. Lo mismo (pero otros colores y formatos) para
Victor, bernat y Alex. Y asi. Como toque final, quiero que si no hay
escrito nada que simplemente me deje la celda LIMPIA.

He visto en las news la posibilidad de hacer esto con código, aunque veo
que seria más facil aplicar los formatos cond. a una celda (que estos sean
7 en total) y asi poder copiar esta celda a cualquier otra que necesite
(en mi caso, muchas!! mas de 30!!). Veo que si lo hago por código tendria
que escribir mucho código (o MACROS) por cada celda que quiera los 4 (o 7)
formatos condicionales.

¿Alguna idea?

Muchas gracias por adelantado.

Victor

Respuesta Responder a este mensaje
#3 lamarse
29/07/2004 - 22:17 | Informe spam
Gracias Fernando. Eres un genio. Aunque al final lo he hecho de otra
forma, y aqui la publico para que pueda ser útil para otras personas
en búsqueda de respuestas a sus dudas personales.
Yo he creado la macro PRUEBA1:

Sub prueba1()

Dim MiRango As Range
Set MiRango = Range("E6:F80")

For Each Celda In MiRango

valorcelda = Celda.Value

Select Case valorcelda

Case "Alex"
Celda.Interior.ColorIndex = 45 ' aqui elformato
para Alex
Celda.Font.ColorIndex = 1
Celda.Font.Bold = True

Case "Angel"
Celda.Interior.ColorIndex = 41 ' aqui elformato
para Angel
Celda.Font.ColorIndex = 1
Celda.Font.Bold = True

Case "Victor"
Celda.Interior.ColorIndex = 42 ' aqui elformato
para Victor
Celda.Font.ColorIndex = 1
Celda.Font.Bold = True

Case "Bernat"
Celda.Interior.ColorIndex = 43 ' aqui elformato
para Bernat
Celda.Font.ColorIndex = 1
Celda.Font.Bold = True

Case "Grupo"
Celda.Interior.ColorIndex = 22 ' aqui elformato
para Grupo
Celda.Font.ColorIndex = 1
Celda.Font.Bold = False

Case "Individual"
Celda.Interior.ColorIndex = 24 ' aqui elformato
para Individual
Celda.Font.ColorIndex = 1
Celda.Font.Bold = False



Case Else
Celda.Interior.ColorIndex = 0 'mensaje de

End Select


Next
End Sub



Esta macro se ejecuta automáticamente (pues sino hay que darle al F5
todo el rato) con este otro codigo:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("E6:F80")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
prueba1
'MsgBox "Cell " & Target.Address & " has changed."
End If

End Sub


Y ya esta! Todo listo! Funciona. Lo que no me he puesto a evaluar es
si realmente tu opción chupa menos recursos o no (tal vez me lo mire
mas adelante, pues el proyecto va creciendo y ya veremos qué tal se
comporta más adelante). Lo cierto es que no sé bien bien cómo lo hace
ni que hace (un poco si), pero puedo ver unas lineas inciales en el
codigo que yo he usado que no veo en el tuyo, y seria interesante qué
son y si realmente me hacen falta, pero... como ya funciona, por el
momento lo vamos a dejar aqui (aunque si eres tan amable de responder,
ampliamos conocimiento para todo el mundo).

Muchas gracias de nuevo.

Victor


"Fernando Arroyo" wrote in message news:...
El m ximo de formatos condicionales son tres, cuatro si se considera
el formato de la celda para el caso de que no se cumpla ninguna de las
condiciones de los formatos.

Para lo que necesitas, es necesario, como t mismo dices, recurrir a
VBA, pero no hace falta escribir c digo para cada una de las treinta
celdas. Prueba el siguiente c digo, el cual va en el m dulo de la
hoja (click derecho sobre su etiqueta->Ver c digo):


Private Sub Worksheet Change(ByVal Target As Range)
If Application.Intersect(Target, [A1:A30]) Is Nothing Then Exit Sub
Select Case Target
Case "Angel"
Target.Interior.ColorIndex = 10
Case "Victor"
Target.Interior.ColorIndex = 11
Case "Bernal"
Target.Interior.ColorIndex = 12
Case "Alex"
Target.Interior.Color = 13
'
' m s "cases"
'
Case Else
Target.Interior.ColorIndex = xlColorIndexNone
End Select
End Sub


En este caso, el rango de celdas a evaluar ser a A1:A30

Un saludo.


Fernando Arroyo
MS MVP - Excel


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