Jump to content

Archived

This topic is now archived and is closed to further replies.

mennoch

Colorear filas

Recommended Posts

Buenos dias,

He estado usando el buscador y no he encontrado la solucion al problema que ahora expongo.

Tengo en la columna B una serie de clientes y lo que quiero es que las filas se coloreen como si insertas el formato tabla, es decir, una fila gris, la otra blanca, la siguiente otra vez en gris..... pero que cuando el cliente sea al mismo el color tb sea igual.

[ATTACH]42456.vB[/ATTACH]

Como la imagen de arriba. Gracias.

post-84761-145877008957_thumb.jpg

Share this post


Link to post
Share on other sites

Es exactamente lo que quiero, lo unico que me gustaria que la macro se empezase a ejecutar a partir de la fila 6. Que tengo que cambiar, si esq se puede.

Muchas gracias.

Share this post


Link to post
Share on other sites

Hola de nuevo!

Es exactamente lo que quiero, lo unico que me gustaria que la macro se empezase a ejecutar a partir de la fila 6. Que tengo que cambiar, si esq se puede.

Muchas gracias.

Por estos detalles es importante que leas las normas del foro, que instan a subir un archivo con un ejemplo real reducido de lo que quieres, para no empezar a dar soluciones "a medias" o no "atinar al aire". Tenlo presente para futuras oportunidades.

Ahora, si quieres que la macro empiece en la fila 6, cambia el código por este:

[COLOR=#0000cd]Sub[/COLOR] colorear()
Dim uf As Long
Dim i As Long

uf = Range("B" & Rows.Count).End(xlUp).Row

Range("B6:C" & uf).Interior.Pattern = xlNone
Range("B6:C6").Interior.Color = RGB(180, 180, 180)
For i = 7 To uf
If Range("B" & i) = Range("B" & i - 1) Then
If Range("B" & i - 1).Interior.Pattern = xlNone Then
Range("B" & i).Resize(1, 2).Interior.Pattern = xlNone
Else
Range("B" & i).Resize(1, 2).Interior.Color = Range("B" & i - 1).Interior.Color
End If
ElseIf Range("B" & i - 1).Interior.Color = Range("B6").Interior.Color Then
Range("B" & i).Interior.Pattern = xlNone
ElseIf Range("B" & i - 1).Interior.Pattern = xlNone Then
Range("B" & i).Resize(1, 2).Interior.Color = Range("B6").Interior.Color
End If
Next i

[COLOR=#0000cd]End Sub[/COLOR]
[COLOR=#0000cd]Sub[/COLOR] BorraColores()
Dim uf As Long

uf = Range("B" & Rows.Count).End(xlUp).Row
Range("B6:C" & uf).Interior.Pattern = xlNone
[COLOR=#0000cd]End Sub[/COLOR]
[/CODE]

Espero haberte ayudado, Dios te bendiga!

Share this post


Link to post
Share on other sites

A mi se me ocurre una sin macros. La desventaja de la macro es que dependes de que el usuario las habilite y creo que tampoco funciona en Office 365 ni en las ediciones "Home Edition" Por eso prefiero evitarme las macros siempre que se pueda.

Lamentablemente tengo que usar una columna auxiliar que podrías ocultar si lo deseas. He usado una formulita y un formato condicional.

Suerte!

Colorear Celdas.rar

Share this post


Link to post
Share on other sites

Muchas gracias a ambos.

La macro johnmpl ahora va genial, persona las molestias de no haber incluido en un primer momento un ejemplo.

La formula combinada con el formato condicional tb va de perlas.

GRACIAS.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

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.




×
×
  • Create New...

Important Information

Privacy Policy