locked
Ocultar colunas no Excel com macro.

    Question

  • Por favor me ajudem.
    Sou aprendiz em macro e preciso de ajuda.
    Tenho a seguinte macro:
    Sub Oculta()

              If Range("I1").Value="" Then
                    Columns("I:J").Hidden = True
              End If
    End Sub

    Pretendo com essa macro quando a célula I1 estiver vazia ocultar as colunas de I a J mas, quando a célula I1 contiver dados as colunas deverão reaparecer. a Reexibição delas não está funcionando.
    Alguém pode me ajudar.

    Abusando mais um pouco.
    Se a célula I1 contiver dados e a célula J1 estiver vazia, ocultar apenas a coluna J.

    Desde já agradeço a atenção de todos.

    Thursday, June 19, 2008 3:19 PM

All replies

  • Com essas modificações deve atendê-lo.

     

    Code Snippet

    Sub Oculta()
        If Range("I1").Value = "" Then
        Columns("I:J").Hidden = True
        Else
        Columns("I:J").Hidden = False
        End If
       
        If Range("J1").Value = "" Then
        Columns("J").Hidden = True
        End If
    End Sub

     

     

    [ ]s

     

    Thursday, June 19, 2008 6:28 PM
  • Valeu pela dica Adilson. Muito obrigado.

    Porém, eu não sei ainda como fazer pra essa macro funcionar automaticamente.
    Tenho dentro de uma Pasta de trabalho as Planilhas : DU, SÁB e DOM. Essa mesma macro pode ser pra toda a Pasta de Trabalho ou terei que criar um módulo para cada Planilha?

    Como disse, estou começando a mexer com macro.

    Agradeço a sua ajuda.
    Friday, June 20, 2008 12:30 PM
  • Se você colocar essa macro em um módulo, ela servirá para a planilha ativa.
    Friday, June 20, 2008 1:41 PM
  • Segue o passo a passo:

    Para inserir a macro

    1. Pressione ALT+F11 para exibir o editor do Visual Basic (VBA)

    2. Inserir >> Módulo (como postou o Hideo, as macros ficam armazenadas em módulos a partir dos quais podem ser executadas). Se já existir um módulo não é necessário adicionar outro.

    3. Copie e cole o código que postei.

    4. Pressione ALT+F4 para sair do VBE.

    Para executar a macro:

    1. Selecione a planilha que quer modificar

    2. Pressione ALT+F8 para ativar a execução de macros

    3. Selecione o nome da macro

    4. Selecione a opção executar

    Este é o caminho, mais recomendado para quem está iniciando. Depois vc vai descobrindo outras formas de acionar o funcionamento das macros.

    Qualquer dúvida, estamos à disposição.

    [ ]s

     

    Friday, June 20, 2008 6:18 PM
  • Entre no VBA e aperte CTRL+R para abrir o project explorer....Dê dois cliques na planilha que você porá o código...

     

    Code Snippet

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Range("I1").Value = "" Then
        Columns("I:J").Hidden = True
        Else
        Columns("I:J").Hidden = False
        End If
       
        If Range("J1").Value = "" Then
        Columns("J").Hidden = True
        End If

    End Sub

     

     

     

    Quando a célula for alterada automaticamente será executado o código...
    Friday, June 20, 2008 7:15 PM
  • Boa tarde Adilson,

    Preciso que a macro teste mais de uma coluna, fiz a seguinte adaptação na sua macro:

    Sub Ocultacoluna()

    Dim i As Integer
    For i = A To D
    If Range(i & "1").Value = 0 Then
    Columns(i & ":" & i).Select
    Selection.EntireColumn.Hidden = True
    Else
    End If
    Next i

    End Sub

     

    Não funcionou. Pode me dizer onde está errado? Muito Obrgiado

    Friday, October 01, 2010 7:52 PM