Macro para mostrar columna oculta de acuerdo a fecha capturada en una celda

Aquí con el tema de una pregunta anterior "Macro para mostrar columna oculta de acuerdo a valor de una celda" funciona muy bien, ahora tengo una duda más, ¿es posible modificar la macro para que solo tome en cuenta aquellas columnas que en su encabezado contiene una fecha o formato de fecha y aquellas que su encabezado es algún titulo (como las columnas G, I) no las tome en cuenta, es decir no las oculte? En la imagen siguiente te dejo un ejemplo de como en la columna G y en la columna I, no hay ninguna fecha en su encabezado, y aquí es donde se pone más interesante ya que lo que se ocuparía seria que al ejecutar la macro solo muestre la columna de la fecha capturada, más aquellas columnas que no contienen ninguna fecha en su encabezado como las columnas G, I

Gracias nuevamente por tu tiempo.

1 Respuesta

Respuesta
1

H o l a

Te anexo la macro actualizada

Sub OcultarColumnas()
'Por.Dante Amor
    uc = Cells(1, Columns.Count).End(xlToLeft).Column
    ini = Columns("D").Column
    fin = ActiveSheet.UsedRange.Columns(ActiveSheet.UsedRange.Columns.Count).Column
    Range(Cells(1, ini), Cells(1, fin)).EntireColumn.Hidden = False
    If [B3] <> "" Then
        For i = fin To ini Step -1
            If Cells(1, i) <> [B3] And Cells(1, i) <> "" Then
                Columns(i).EntireColumn.Hidden = True
            End If
        Next
    End If
End Sub

Hola Dante ya aplique la macro que me entregaste, pero tal vez no me he explicado completamente bien.

Te envie 2 imágenes en esta pregunta donde viene un ejemplo en el cual en la primer imagen se captura en la celda B3 la fecha "17/09/2015" y la segunda imagen es la simulación de la función de la macro, que al ejecutar la macro desde el botón oculta todas las columnas posteriores a la columna D pero respeta aquella que contiene en su encabezado la fecha "17/09/2015" y tampoco oculta las columnas G, I ya que estas columnas no contienen fecha alguna en su encabezado sino un texto.

Y al aplicar la macro que recién me has enviado oculta todas las columnas dejando solo la de la fecha capturada, no respeta aquellas que en su encabezado contienen un texto.   Gracias...

Te anexo la macro actualizada

Sub OcultarColumnas()
'Por.Dante Amor
    ini = Columns("D").Column
    fin = ActiveSheet.UsedRange.Columns(ActiveSheet.UsedRange.Columns.Count).Column
    Range(Cells(1, ini), Cells(1, fin)).EntireColumn.Hidden = False
    If [B3] <> "" Then
        For i = fin To ini Step -1
            If IsDate(Cells(1, i)) And Cells(1, i) <> [B3] Then
                Columns(i).EntireColumn.Hidden = True
            End If
        Next
    End If
End Sub

Recuerda valorar la respuesta.

La pregunta no admite más respuestas

Más respuestas relacionadas