MOSTRAR/OCULTAR COLUMNAS EN VARIAS HOJAS DESDE UN CUADRO DE SELECCIÓN MULTIPLE

2 envíos / 0 nuevos
Último envío
sanchez62
Imagen de sanchez62
Offline
última acción: Hace 7 años 3 meses
alta: 26/09/2016 - 11:30
Puntos: 60
MOSTRAR/OCULTAR COLUMNAS EN VARIAS HOJAS DESDE UN CUADRO DE SELECCIÓN MULTIPLE

 

MOSTRAR/OCULTAR COLUMNAS EN VARIAS HOJAS DESDE UN CUADRO DE SELECCIÓN MULTIPLE

 

Hola, soy un nuevo suscriptor del foro (aunque asiduo vistante de la web) y necesito urgentemente que alguien me eche una mano.

Tengo un libro Excel que consta de varias hojas, entre ellas, las hojas PR, PD, CR y CD.

También tengo, en la Hoja1, un cuadro de selección múltiple de meses, desde enero a diciembre, para poder marcar los meses (uno o varios) de los que quiero ver la informacion contenida en esas hojas.

Las columnas de los meses de las hojas no son coincidentes, por lo que los rangos de las columnas correspondientes a enero son D:I (6 columnas en hoja PR), I:N (6 columnas en hoja PD), G:M (siete columnas en hoja CR) y G:M (siete columnas en hoja CD), las correspondientes a febrero son: J:O (6 columnas en hoja PR), O:T (6 columnas en hoja PD), N:T (siete columnas en hoja CR) y N:T (siete columnas en hoja CD), y así sucesivamente para todos los meses.

Lo que necesitos es una macro que muestre solo las columnas que corresponden a los meses elegidos en la lista de selección múltiple, en todas las hojas, ocultando todas las demás.

Entiendo que lo más lógico sería partir de todas las columnas ocultas, para mostrar solamente las que se seleccionen en la lista de selección múltiple, en vez de partir de todas las columnas visibles y ocultar las que no se seleccionan.

También supongo que será necesario crear una macro por hoja, ya que las columnas a seleccionar son distintas en cada caso. Y, además, está la cuestión de la lista de selección múltiple… En fin, soy incapaz de vincular esas instrucciones. En cualquier caso, creo que es una macro (o una macro de macros) demasiado compleja para mis escasos (escasísimos) conocimientos de VBA.

Podrías ayudarme?

Cron
Imagen de Cron
Offline
última acción: Hace 9 meses 9 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
No te hace falta una macro

No te hace falta una macro por hoja. Lo que sí es necesario es que la macro no esté en un módulo dependiente de una hoja (crea un módulo nuevo y pon ahí la macro).

Para recorrer las hojas puedes hacer lo siguiente:

Sheets("Hoja2").Select

Luego parte de toda la hoja oculta:

Cells.Select
Selection.EntireColumn.Hidden = True

Para finalmente activar la columna que te interese, en función del mes elegido:

Columns("I:I").Select
Selection.EntireColumn.Hidden = False

 

Un saludo