Jump to content
laubreeze

Macro para adaptar FORMATO CONDICIONAL

Recommended Posts

macro 

Sub colorxcondicion()
Range("B10:K40").Interior.ColorIndex = xlNone
    For i = 10 To 40
        If Cells(i, "I") = "x" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 16
        If Cells(i, "B") = "" Or Cells(i, "C") = "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 6
        If Cells(i, "B") <> "" And Cells(i, "C") <> "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = xlNone
        If Cells(i, "K") = 1 And Cells(i, "E") <> "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 19
        If Cells(i, "K") > 1 Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 22
    Next i
    MsgBox "Terminado"
End Sub

 

Share this post


Link to post
Share on other sites
Hace 13 horas, temp01 dijo:

macro 


Sub colorxcondicion()
Range("B10:K40").Interior.ColorIndex = xlNone
    For i = 10 To 40
        If Cells(i, "I") = "x" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 16
        If Cells(i, "B") = "" Or Cells(i, "C") = "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 6
        If Cells(i, "B") <> "" And Cells(i, "C") <> "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = xlNone
        If Cells(i, "K") = 1 And Cells(i, "E") <> "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 19
        If Cells(i, "K") > 1 Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 22
    Next i
    MsgBox "Terminado"
End Sub

 

Gracias, casi casi me va bien. Pero me hace igual la primera condicion y la última, y por más que la intento adaptar no me lo modifica. Le he puesto a la primera:

If Cells(i, "K") = 1 And Cells(i, "F") <> "" And Cells(i, "I") = "x" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 16

Y nada...

Share this post


Link to post
Share on other sites

Hola laubreeze, me parece que tu problema radica en un malentendido del código por las condicionantes. Prueba lo siguiente:

Sub colorxcondicion()
Range("B10:K40").Interior.ColorIndex = xlNone
    For i = 10 To 40
        If Cells(i, "I") = "X" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 16
        If Cells(i, "B") = "" Or Cells(i, "C") = "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 6
        If Cells(i, "B") <> "" And Cells(i, "C") <> "" And Cells(i, "I") <> "X" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = xlNone
        If Cells(i, "K") = 1 And Cells(i, "E") <> "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 19
        If Cells(i, "K") > 1 Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 22
    Next i
End Sub

 

Share this post


Link to post
Share on other sites
Hace 18 horas, Luis paz dijo:

Hola laubreeze, me parece que tu problema radica en un malentendido del código por las condicionantes. Prueba lo siguiente:


Sub colorxcondicion()
Range("B10:K40").Interior.ColorIndex = xlNone
    For i = 10 To 40
        If Cells(i, "I") = "X" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 16
        If Cells(i, "B") = "" Or Cells(i, "C") = "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 6
        If Cells(i, "B") <> "" And Cells(i, "C") <> "" And Cells(i, "I") <> "X" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = xlNone
        If Cells(i, "K") = 1 And Cells(i, "E") <> "" Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 19
        If Cells(i, "K") > 1 Then Range(Cells(i, "B"), Cells(i, "K")).Interior.ColorIndex = 22
    Next i
End Sub

 

No sé por qué razón, pero me sigue poniendo del mismo color las que llevan X que las que no (primera y última condición en el mismo color)... Las X deberían ir en gris, y tampoco es cuestión de mayúsculas o minúsculas como me comentábais. Lo dejo aquí tal cual está por si queréis verlo.

Aprovecho para preguntaros otra cosa, tampoco estos son los mismos colores que tengo en la hoja "investigación" ¿Cómo tendría que hacer para conseguir aquellos tonos? porque he probado con RGB(166,166,166) por ejemplo, al final del código del color, y da error.

No sé si saldré de esta XD.

bbdd_BP_1.5.xlsm

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Hola de nuevo @juancyuky Espero sea de utilidad.filtro vacias.xlsm  
    • Hola Mauricio,   Voy a intentar con tu valioso aporte y en este momento anexe el xlsm que al parecer no se cargo anteriormente y te comento si me resulto Muchas gracias!!! filtro vacias.xlsm
    • Mil gracias, si es algo que buscaba realizar, te lo agradezco mucho.
    • Hola @juancyuky No se puede descargar un archivo, pero una solución rápida y práctica podría ser:   Sub filtro() A = Application.WorksheetFunction.CountIf(Range("$A$5:$D$11"), Sheets("base").Range("c4").Value) If A >= 1 Then Range("A5").CurrentRegion.AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value 'If A <> 0 Then Range("A5").CurrentRegion.AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value      End Sub Espero se de utilidad, Sigo atento.
    • Hola amigos  De nuevo solicitando su apoya para resolver un tema, al filtrar ciertos datos y requiero copiar la información para procesarla solo que cuando no hay datos se produce un error 1004  como podria condicionarla con un if thense  Sub copiar_filtro() ActiveSheet.Range("$A$5:$D$11").SpecialCells(xlCellTypeVisible).Copy End Sub Sub filtro() Range("A5").CurrentRegion.AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value      End Sub filtro vacias.xlsm   de antemano gracias        
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy