Código MS Excel VBA para criar regras de ocultar / excluir


1

Estou à procura de ajuda com uma tarefa simples no Excel usando o VBA.

O que estou tentando realizar e me ajudaria muito em meu trabalho é criar uma regra simples que faria algo como abaixo:

For Each c In Range("Row(2))
If c.Value = 0 Then
    c.EntireColumn.Hidden = True
ElseIf c.Value = >0 Then
    c.EntireColumn.Hidden = False
End If

Meu objetivo é simplesmente poder fazer o valor zero na linha 2 tornar a coluna inteira oculta quando a linha 2 dessa coluna for igual a zero.

Desde já, obrigado.


Existe uma razão específica pela qual você não está usando um filtro? Pressione Data- & gt; Filter e veja como a primeira linha de repente tem pequenas setas para baixo à direita. Pressione a seta para baixo na coluna correspondente onde você deseja que as linhas sejam ocultas e selecione quando não 0. Ela mostrará todas as linhas que não são 0.
LPChip

ele quer esconder a coluna, não linhas
PeterH

Oi, obrigado pelas respostas, o filtro funcionaria muito para as linhas, mas o problema é esconder colums, que é afaik não é possível com o filtro. A quantidade de dados é razoavelmente grande, então "esconder automaticamente" seria a melhor solução
babylon4

Respostas:


0

você poderia tentar algo como o abaixo:

Sub hide()
Application.Calculation = xlManual
ActiveSheet.Cells.EntireColumn.Hidden = False

'600 represents 600 columns, adjust to suit your range
For i = 1 To 600

If InStr(Cells(2, i).Value, "0") And Columns(i).Hidden = False Then
    Columns(i).Hidden = True

End If

Next i

Application.Calculation = xlAutomatic

End Sub

Isto irá esconder linhas, não colunas.
LPChip

atualizou, deve funcionar bem agora
PeterH

Olá @ User91504 obrigado pela solução, funciona perfeitamente.
babylon4
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.