Ocultar colunas com base em critérios de células
Enviado: Qua Mar 01, 2017 2:07 pm
Boa tarde!
Preciso de um código que me ajude a ocultar certas colunas conforme o critério de determinadas células, vou colocar 'botões' que farão, por exemplo:
BOTÃO "ADM" => ocultar as colunas "E até AV" se as células "E10, F10 até AV10" for diferente de "ADM" isto, respectivamente, ou seja, ocultará a coluna "E" se a célula "E10" for diferente de "ADM", ocultará a coluna "F" se a célula "F10" for diferente de "ADM" e assim por diante.
BOTÃO "EXP" => ocultar as colunas "E até AV" se as células "E10, F10 até AV10" for diferente de "EXP" isto, respectivamente, ou seja, ocultará a coluna "E" se a célula "E10" for diferente de "EXP", ocultará a coluna "F" se a célula "F10" for diferente de "EXP" e assim por diante.
Achei um que funciona (abaixo), mas deixa o processo muito demorado, pois fica analisando coluna por coluna...queria saber se existe algo que faça de forma mais rápida a leitura?
EXEMPLO que funciona (mas lento):
Sub Botão_ADM()
'
' Botão_ADM Macro
'
If Range("E10").Value <> "ADM" Then
Columns("E:E").Hidden = True
End If
If Range("F10").Value <> "ADM" Then
Columns("F:F").Hidden = True
End If
If Range("G10").Value <> "ADM" Then
Columns("G:G").Hidden = True
End If
If Range("H10").Value <> "ADM" Then
Columns("H:H").Hidden = True
End If
If Range("I10").Value <> "ADM" Then
Columns("I:I").Hidden = True
End If
If Range("J10").Value <> "ADM" Then
Columns("J:J").Hidden = True
End If
If Range("K10").Value <> "ADM" Then
Columns("K:K").Hidden = True
End If
If Range("L10").Value <> "ADM" Then
Columns("L:L").Hidden = True
End If
If Range("M10").Value <> "ADM" Then
Columns("M:M").Hidden = True
End If
If Range("N10").Value <> "ADM" Then
Columns("N:N").Hidden = True
End If
If Range("O10").Value <> "ADM" Then
Columns("O:O").Hidden = True
End If
If Range("P10").Value <> "ADM" Then
Columns("P:P").Hidden = True
End If
If Range("Q10").Value <> "ADM" Then
Columns("Q:Q").Hidden = True
End If
If Range("R10").Value <> "ADM" Then
Columns("R:R").Hidden = True
End If
If Range("S10").Value <> "ADM" Then
Columns("S:S").Hidden = True
End If
If Range("T10").Value <> "ADM" Then
Columns("T:T").Hidden = True
End If
If Range("U10").Value <> "ADM" Then
Columns("U:U").Hidden = True
End If
If Range("V10").Value <> "ADM" Then
Columns("V:V").Hidden = True
End If
If Range("W10").Value <> "ADM" Then
Columns("W:W").Hidden = True
End If
If Range("X10").Value <> "ADM" Then
Columns("X:X").Hidden = True
End If
If Range("Y10").Value <> "ADM" Then
Columns("Y:Y").Hidden = True
End If
If Range("Z10").Value <> "ADM" Then
Columns("Z:Z").Hidden = True
Agradeço muito se alguém me ajudar!
Preciso de um código que me ajude a ocultar certas colunas conforme o critério de determinadas células, vou colocar 'botões' que farão, por exemplo:
BOTÃO "ADM" => ocultar as colunas "E até AV" se as células "E10, F10 até AV10" for diferente de "ADM" isto, respectivamente, ou seja, ocultará a coluna "E" se a célula "E10" for diferente de "ADM", ocultará a coluna "F" se a célula "F10" for diferente de "ADM" e assim por diante.
BOTÃO "EXP" => ocultar as colunas "E até AV" se as células "E10, F10 até AV10" for diferente de "EXP" isto, respectivamente, ou seja, ocultará a coluna "E" se a célula "E10" for diferente de "EXP", ocultará a coluna "F" se a célula "F10" for diferente de "EXP" e assim por diante.
Achei um que funciona (abaixo), mas deixa o processo muito demorado, pois fica analisando coluna por coluna...queria saber se existe algo que faça de forma mais rápida a leitura?
EXEMPLO que funciona (mas lento):
Sub Botão_ADM()
'
' Botão_ADM Macro
'
If Range("E10").Value <> "ADM" Then
Columns("E:E").Hidden = True
End If
If Range("F10").Value <> "ADM" Then
Columns("F:F").Hidden = True
End If
If Range("G10").Value <> "ADM" Then
Columns("G:G").Hidden = True
End If
If Range("H10").Value <> "ADM" Then
Columns("H:H").Hidden = True
End If
If Range("I10").Value <> "ADM" Then
Columns("I:I").Hidden = True
End If
If Range("J10").Value <> "ADM" Then
Columns("J:J").Hidden = True
End If
If Range("K10").Value <> "ADM" Then
Columns("K:K").Hidden = True
End If
If Range("L10").Value <> "ADM" Then
Columns("L:L").Hidden = True
End If
If Range("M10").Value <> "ADM" Then
Columns("M:M").Hidden = True
End If
If Range("N10").Value <> "ADM" Then
Columns("N:N").Hidden = True
End If
If Range("O10").Value <> "ADM" Then
Columns("O:O").Hidden = True
End If
If Range("P10").Value <> "ADM" Then
Columns("P:P").Hidden = True
End If
If Range("Q10").Value <> "ADM" Then
Columns("Q:Q").Hidden = True
End If
If Range("R10").Value <> "ADM" Then
Columns("R:R").Hidden = True
End If
If Range("S10").Value <> "ADM" Then
Columns("S:S").Hidden = True
End If
If Range("T10").Value <> "ADM" Then
Columns("T:T").Hidden = True
End If
If Range("U10").Value <> "ADM" Then
Columns("U:U").Hidden = True
End If
If Range("V10").Value <> "ADM" Then
Columns("V:V").Hidden = True
End If
If Range("W10").Value <> "ADM" Then
Columns("W:W").Hidden = True
End If
If Range("X10").Value <> "ADM" Then
Columns("X:X").Hidden = True
End If
If Range("Y10").Value <> "ADM" Then
Columns("Y:Y").Hidden = True
End If
If Range("Z10").Value <> "ADM" Then
Columns("Z:Z").Hidden = True
Agradeço muito se alguém me ajudar!