Página 1 de 1

Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 09:30
por PauloExcel
Oi Pessoal, Como Estão?

Vê se conseguem me ajudar:

Tenho um intervalo ("A1:H10"), e preciso verificar quais colunas deste intervalo estão totalmente vazias. Após essa verificação preciso ocultar essas colunas vazias, logo as colunas que tiverem algum valor permaneçam em exibição.

Qual seria o código mais apropriado?

Um abraço a todos,

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 11:12
por alexandrevba
Bom dia!!
Código: Selecionar todos
Sub AleVBA_2224()
    Dim col As Range
    Application.ScreenUpdating = False
    'Nesta parte você pode determinar o range de colunas For Each col In ActiveSheet.Range("A:H").Columns
    For Each col In ActiveSheet.UsedRange.Columns
        col.Hidden = col.Cells(Rows.Count, 1).End(xlUp).Row = 1
    Next col
    Application.ScreenUpdating = True
End Sub
Para exibir tudo
Código: Selecionar todos
Sub ExibirTudo()
    Columns.Hidden = False
End Sub
Att

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 14:05
por PauloExcel
Caro Alexandre,

Deu certíssimo, mas e se o intervalo for de H6:AA1048576 ? Aí eu não consegui alterar.

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 14:12
por alexandrevba
Boa tarde!!

Seria isso?
Código: Selecionar todos
Sub AleVBA_2224()
    Dim col As Range
    Application.ScreenUpdating = False
    'Nesta parte você pode determinar o range de colunas For Each col In ActiveSheet.Range("A:H").Columns
    For Each col In ActiveSheet.Range("H:AA").Columns
        col.Hidden = col.Cells(Rows.Count, 1).End(xlUp).Row = 1
    Next col
    Application.ScreenUpdating = True
End Sub
Att

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 15:02
por PauloExcel
Está dando erro na linha marcada abaixo:

Imagem

Sub OcultarColunaVazia()
Dim col As Range
Application.ScreenUpdating = False
'Nesta parte você pode determinar o range de colunas For Each col In ActiveSheet.Range("A:H").Columns
For Each col In ActiveSheet.Range("H6:AA1048576").Columns
col.Hidden = col.Cells(Rows.Count, 1).End(xlUp).Row = 1
Next col
Application.ScreenUpdating = True
End Sub

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 15:04
por alexandrevba
Boa tarde!!

favor postar seu arquivo, pois eu não tive erro!!


Att

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 15:10
por PauloExcel
boa tarde,
segue arquivo

O que eu quero resolver é na aba "Pesquisar Tempos Tecido".
Quando o usuário(a) clicar em pesquisar, o que estiver em branco do intervalo H6:AA1048576 é para ocultar.

Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 15:11
por PauloExcel
Ocultar a Coluna****

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 15:16
por alexandrevba
Boa tarde!!

Qual o nome da guia?
No arquivo tem as guias (PesquisaMedidas,BancoDadosTempos,TelaCadastroTemposTecido,PesquisaOperações,,TelaCadastroOperações,Início,Apoio)

Att

Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 15:27
por PauloExcel
PesquisaMedidas

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 15:37
por alexandrevba
Boa tarde!!

Tente assim:
Código: Selecionar todos
Sub AleVBA_2224()
    Application.ScreenUpdating = False
        Dim c As Range
        For Each c In Range("H6:AA6")
            c.EntireColumn.Hidden = (c.Value = 0)
        Next c
    Application.ScreenUpdating = True
End Sub
No botão Pesquisar
Código: Selecionar todos
Sub PesquisarMedidas()
Call AleVBA_2224
Range("BancoMedidas").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("A1:E2"), CopyToRange:=Range("A5:AG5"), Unique:=False
Range("A2").Select

End Sub
Att

Re: Ocultar Colunas que Estiverem Vazias

Enviado: 31 Mai 2016 às 16:00
por PauloExcel
Perfeito Alexandre!!!

Vou estudar o método para aprender, muito obrigado pelo apoio. Conte comigo Abs!