Notifications
Clear all

Ocultar colunas segundo um argumento

5 Posts
2 Usuários
0 Reactions
902 Visualizações
(@grlisboa)
Posts: 43
Eminent Member
Topic starter
 

Boa noite pessoal,
Estou precisando de ajuda com um código. Vou criar um relatório e quero disponibilizar para o usuário a opção de imprimir apenas as colunas que tenham os dados que lhe interessam. Preciso então que ao clicar no botão "Ocultar Colunas", todas as colunas onde as células no intervalo B2:L2 esteja o valor "Ocultar" sejam ocultadas e ao clicar no botão "Visualizar Tudo" todas as colunas sejam exibidas novamente. Anexei um exemplo em anexo.
Desde já agradeço.

 
Postado : 22/06/2015 6:09 pm
(@adgere)
Posts: 76
Trusted Member
 

Codigo Botão Ocultar Colunas

Dim C As Integer

For C = 2 To 12

    If Plan1.Cells(2, C).Value = "Ocultar" Then
       Plan1.Columns(C).EntireColumn.Hidden = True
    End If

Next C

Codigo botão Visualizar tudo

For C = 2 To 12

       Plan1.Columns(C).EntireColumn.Hidden = False

Next C
 
Postado : 22/06/2015 6:56 pm
(@grlisboa)
Posts: 43
Eminent Member
Topic starter
 

adGere,
Funcionou perfeitamente, muito obrigado.
Só por curiosidade, qual é a finalidade do "For C" e do "Next C"

 
Postado : 22/06/2015 7:30 pm
(@adgere)
Posts: 76
Trusted Member
 

Se trata de um LOOP...
Ele vai executar o codigo por n vezes
No caso C é uma variavel que representa a Coluna...
Ao dizer Cells(1,2) significa a celula B1, onde 1 é a linha e 2 é a coluna..

No codigo abaixo, será percorrido as colunas de 2 a 12, ou seja, de B a L.
No inicio o C vale 2, e cada vez que a execução chegar no next será somado mais um ao C... até Chegar ao 12... e sair do loop

For C = 2 To 12

If Plan1.Cells(2, C).Value = "Ocultar" Then
Plan1.Columns(C).EntireColumn.Hidden = True
End If

Next C

 
Postado : 23/06/2015 3:11 pm
(@grlisboa)
Posts: 43
Eminent Member
Topic starter
 

Entendi adGere
Muito obrigado mais uma vez.

 
Postado : 23/06/2015 5:24 pm