Macro excel que elimine todas las columnas de una hoja que tenga un color de relleno

Quien me puede ayudar, necesito un macro en excel que me permita eliminar todas las columnas de una hoja que tenga un color especifico de relleno, por ejemplo que me elimine todas las columnas de color rojo y que se ejecute cada vez que se pegue información en la hoja, sin importar que tengan o no datos solo que elimine las del color especifico.

1 respuesta

Respuesta
2

¿Pero toda la columna está pintada de color "rojo" o solamente algunas celdas?

Si es toda la columna, entonces bastará con preguntar si una de las celdas tiene el color "rojo" y entonces eliminar la columna, ¿correcto?

Te anexo la macro, los colores en excel están representados por números, el número 3 representa el color "Rojo".

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    ini = Target.Cells(1, 1).Column
    fin = Target.Columns.Count + ini - 1
    For c = fin To ini Step -1
        If Cells(1, c).Interior.ColorIndex = 3 Then
            Application.EnableEvents = False
            Columns(c).Delete
            Application.EnableEvents = True
        End If
    Next
End Sub

Si quieres cambiar el color rojo por otro color, revisa los colores en el siguiente enlace

http://dmcritchie.mvps.org/excel/colors.htm 

Selecciona el número de color que desees y cambia en la macro el número 3 por el número de color.


La macro se ejecuta cada vez que modificas una celda o varias celdas. Si es como dices que la macro se debe actualizar cada que pegues información, entonces también la macro se ejecutará y revisará los colores.

La macro revisa si la celda de la fila 1 de cada columna que pegaste tiene el color rojo, si es así entonces borra la columna.

Si el color no va a estar en la fila 1, entonces cambia en la macro el número 1 por el número de fila en donde siempre va a existir el rojo.

If Cells(1, c).Interior.ColorIndex = 3 Then


Nota: La macro no se activa si solamente cambias las celdas de color.


Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas