Disponemos de una tabla en la que la fila 5 hace de cabecera y en ella hemos marcado de color amarillo ciertas celdas cuyas columnas nos gustaría ocultar. Hemos desarrollado una macro en VBA para Excel que logra ocultar las columnas amarillas.
Luego hemos creado otra macro que muestra todas las columnas. Se ejecutan con sendos botones que figuran al inicio de la hoja.
Luego hemos creado otra macro que muestra todas las columnas. Se ejecutan con sendos botones que figuran al inicio de la hoja.
Sub Oculta_columnas_amarillas() Dim n As Integer 'ultima columna Dim R As Range Dim i As Integer Rem utiliza la fila 5 para localizar las amarillas Range("A5").Select Set R = ActiveCell.SpecialCells(xlLastCell) n = R.Column For i = 1 To n If Cells(5, i).Interior.ColorIndex = 6 Then Columns(i).Hidden = True End If Next i End Sub
Sub Muestra_columnas() Cells.EntireColumn.Hidden = False Range("A5").Select End Sub
Muy interesante, este código me hace alucinar en capturar la propiedad del color de las celdas y almacenarla como variable numérica, luego usarla más adelante en la recursiva para ocultar cualquiera que sea el color de las celdas resaltadas.
ResponderEliminarHola, esta macro me parece muy útil, pero estoy tratando de usar filas y diferente color y no me es posible, Agradecería tu ayuda.
ResponderEliminarColorIndex = 6 es amarillo
EliminarOtros valores para que puedas cambiar los colores son los siguientes:
NEGRO ColorIndex = 1
BLANCO ColorIndex = 2
GRIS ColorIndex = 15
MARRÓN ColorIndex = 53
ROJO ColorIndex = 3
NARANJA ColorIndex = 46
VERDE ColorIndex = 4
AZUL ColorIndex = 5
VIOLETA ColorIndex = 29
Un saludo.
Muy buenas Adolfo...
ResponderEliminarAntes que nada, feliz 2016...
GENIAL, felicidades por tu aporte. Me biene de perlas. La única pega para poder usarlo en mi caso es conseguir ejecutar las macros sin necesidad de los botones. Se podrían poner "flotantes"? o simplemente, asignarlos a una combinación de teclas. Por ejemplo CTRL + Ñ y CTRL + Ç (que son de las pocas que quedan libres en excel)
Y añadir más botones para diferentes colores?
(Uso el excel para hacer una importación a CSV y este subirlo a Magento)
Mil millones de gracias... en serio!!!
Saludos
Muy buenas de nuevo...
ResponderEliminarPerdona por no haber leido antes un poco. He encontrado una de las soluciones en tu blog:
http://www.excelavanzado.com/2010/09/lanzar-macros-con-iconos-y-botones.html
Pero si me pudieras ayudar a asignar varios colores diferentes, sería genial...
Mil millones de gracias... (de nuevo)
Recibe un cordial saludo!
disculpe y si es el mismo codigo para ocultar las filas lo eh intentado y no me resulta
ResponderEliminarSaludos Sr. Adolfo.
ResponderEliminarMuy interesante y util su macro, pero noté que el mismo NO FUNCIONA en el caso que el formato de color de la celda sea el resultado de un formato condicional.
¿Hay alguna posibilidad de modificar el macro para que incluya los formatos condicionales de celda?
Gracias por adelantado
A mi me sucede lo que al compañero anterior. Necesito que lo haga con el color amarillo pero que procece de un formato condicional. Es posible
ResponderEliminarIntenta evaluar la condición entonces, en lugar del color . . .
EliminarHola, buenas tardes, yo soy nuevo en esto de macros, y quisiera ver si alguien me ayuda. Del ejemplo de arriba, lo que hice fue solo cambiar el amarillo por el blanco. Pero tengo un archivo muy extenso, y no puedo cambiar todas las celdas a color blanco, hay unas amarillas que son importantes, así que ¿habrá alguna manera de ocultar columnas donde la celda no tenga color de fondo?, en caso negativo; ¿habrá una manera de rellenar todas las celdas sin color de fondo a blanco? Gracias de antemano por su ayuda
ResponderEliminar