- Mostrar columna excel dependiendo opción

Tengo un archivo de Excel con unas columnas marcadas con los meses de Enero a Diciembre, y quisiera construir una macro para mostrar las columnas dependiendo de los meses que se le den en una Opción.

1 Respuesta

Respuesta
1

Puedes poner en qué columnas tienes los meses de enero a diciembre.

Y puedes explicar cómo vas a poner la "opción", es decir en 12 celdas, una por cada mes, vas a poner qué columnas quieres mostrar. ¿O cómo vas a indicar qué meses mostrar?

Una opción sería, si los meses los tienes de la columna C en adelante, entonces en la celda C1, por ejemplo, escribir algo como esto: 1,5,7 para indicar que se muestren los meses de enero, mayo y julio, separas cada mes por una coma. si quieres todos los meses: 1,2,3,4,5,6,7,8,9,10,11,12

E spero tus comentarios

Gracias por la respuesta y ofrezco disculpas por no ser mas explicito. Tengo una hoja donde tengo en cada columna empezando el la C3 los 12 meses del año, me gustaría crear una macro donde por intermedio de una opción al usuario final pueda escoger que meses del año quiere visualizar, algo así como mes inicial al mes final, (Ej: Enero a marzo) y esas columnas queden visibles al usuario.

Gracias

Ya tenemos la primera parte, supongo que en la columna C tienes Enero, en D tienes Febrero, etc.

Pero no me has dicho en qué celda o cuáles celdas vas a especificar qué meses quieres visualizar. Solamente pusiste "por intermedio de una opción", ¿pero a qué te refieres con eso?, puedes ser más explicito, ayudaría si pones ejemplos o imágenes de cómo quieres esa "opción"

A1    

DEL MES  _____     AL MES ______

                                           E3       F3        G3        H3       I3     J3 ....

                                           Enero Febrero Marzo Abril Mayo Junio...

Inicialmente las columnas están ocultas y dependiendo de la opción se muestran las columnas de los meses.

Espero se entienda.

Sigues sin poner en cuáles celdas.

Voy a suponer que son las celda B2 para "del mes" y D2 para "al mes".

Ahora pones que Enero está en la columna E, pero habías dicho que estaba en la columna C


La macro funciona así:

En la celda B2 tienes que poner un número del 1 al 12

En la celda D2 tienes que poner un número del 1 al 12, tiene que ser mayor o igual al número de la celda B2.

La macro va a ocultar y mostrar las columnas empezando en la columna E.



Sub Mostrar_Meses()
'Por.Dante Amor
    delmes = [B2].Value
    almes = [D2].Value
    If delmes = "" Or Not IsNumeric(delmes) Or (delmes < 1 And delmex > 12) Then
        MsgBox "Falta del mes"
        Exit Sub
    End If
    If (almes = "" Or Not IsNumeric(almes)) Or (almes < 1 Or almes > 12) Then
        MsgBox "Falta al mes"
        Exit Sub
    End If
    If almes < delmes Then
        MsgBox "Al mes debe ser mayor o igual al del mes"
        Exit Sub
    End If
    Columns("E:P").EntireColumn.Hidden = True
    For i = delmes + 4 To almes + 4
        Columns(i).EntireColumn.Hidden = False
    Next
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas