none
Macro para ocultar linhas RRS feed

  • Pergunta

  • Estou tentando montar uma macro para ocultar linhas dependendo de determinada data.

    O que preciso é o seguinte, em uma tabela: C e D mostram o início e o fim de uma atividade respectivamente. B1 mostra a data de hoje.

    Gostaria a macro analisasse a linha que compreenda atividade entre a data de hoje até 30 dias após seja exibida e o resto ocultada.

    Ainda, conforme fosse passando os dias a tabela atualizasse automaticamente, sendo ocultada linhas fora do período determinado e exibir linhas que entrem no período determinado.

    Alguém poderia me ajudar?

    Desde já agradeço.

    terça-feira, 14 de fevereiro de 2017 16:38

Todas as Respostas

  • Cole o código abaixo na classe da planilha que deseja que esse efeito ocorra:

    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim DateRange As Range
        Dim iRow As Long
        Dim LastRow As Long
        
        Set DateRange = Range("B1")
        If Intersect(Target, DateRange) Is Nothing Then GoTo Quit
        
        
        Rows.Hidden = False
        
        LastRow = Me.Cells(Me.Rows.Count, "C").End(xlUp).Row
        'Considerando que as datas começam na linha 2:
        For iRow = 2 To LastRow
            If DateRange >= Me.Cells(iRow, "C") And DateRange <= Me.Cells(iRow, "D") Then
                Me.Rows(iRow).Hidden = True
            End If
        Next iRow
    Quit:
    End Sub
    


    http://www.ambienteoffice.com.br || Grupo de WhatsApp: https://chat.whatsapp.com/K1uey5Q4yJdKnsgWkVQAZG

    quarta-feira, 15 de fevereiro de 2017 15:54
    Moderador