- 27 Set 2018 às 11:27
#37214
Bom dia,
Estou fazendo uma macro onde oculte colunas de acordo com colunas informadas em outra planilha
as colunas que serão ocultadas vem da Sheets("MACRO") que na coluna A é informado a letra das colunas que deverão ser ocultadas.
Vamos dar um exemplo que na Sheets("MACRO") tenha os seguintes dados:
0 | Colunas à ocultar | B | C |...
1 | C
2 | F
3 | H
Nesse caso a macro entra nessa planilha e faz um while para formar a sequência que deverá ser ocultadas:
Neste caso a variável ocultar no final ficará - C:C,F:F,H:H
Inserindo os dados direto funciona:
Range("C:C,F:F,H:H").EntireColumn.Hidden = False
Inserindo a variável dentro do Range não funciona:
Range("& ocultar &").EntireColumn.Hidden = False
Veja se alguém pode me auxiliar nessa demanda.
Sub ocultarColunas()
Dim qtd As Double
Dim contador As Integer
Dim coluna As String
Dim ocultar As String
linhas = WorksheetFunction.CountA(Sheets("MACRO").Range("A2:A1048576"))
contador = 1
While contador < linhas + 1
coluna = Sheets("MACRO").Cells(contador + 1, 1).Value & ":" & Sheets("MACRO").Cells(contador + 1, 1).Value & ","
ocultar = ocultar & "" & coluna
contador = contador + 1
Wend
ocultar = Left(ocultar, Len(ocultar) - 1)
'Tire o comentário da MsgBox abaixo para exiber as colunas que serão ocultadas.
'MsgBox ocultar
'Funciona
Range("C:C,F:F,H:H").EntireColumn.Hidden = False
'Não funciona
'Range("& ocultar &").EntireColumn.Hidden = False
End Sub
Estou fazendo uma macro onde oculte colunas de acordo com colunas informadas em outra planilha
as colunas que serão ocultadas vem da Sheets("MACRO") que na coluna A é informado a letra das colunas que deverão ser ocultadas.
Vamos dar um exemplo que na Sheets("MACRO") tenha os seguintes dados:
0 | Colunas à ocultar | B | C |...
1 | C
2 | F
3 | H
Nesse caso a macro entra nessa planilha e faz um while para formar a sequência que deverá ser ocultadas:
Neste caso a variável ocultar no final ficará - C:C,F:F,H:H
Inserindo os dados direto funciona:
Range("C:C,F:F,H:H").EntireColumn.Hidden = False
Inserindo a variável dentro do Range não funciona:
Range("& ocultar &").EntireColumn.Hidden = False
Veja se alguém pode me auxiliar nessa demanda.
Sub ocultarColunas()
Dim qtd As Double
Dim contador As Integer
Dim coluna As String
Dim ocultar As String
linhas = WorksheetFunction.CountA(Sheets("MACRO").Range("A2:A1048576"))
contador = 1
While contador < linhas + 1
coluna = Sheets("MACRO").Cells(contador + 1, 1).Value & ":" & Sheets("MACRO").Cells(contador + 1, 1).Value & ","
ocultar = ocultar & "" & coluna
contador = contador + 1
Wend
ocultar = Left(ocultar, Len(ocultar) - 1)
'Tire o comentário da MsgBox abaixo para exiber as colunas que serão ocultadas.
'MsgBox ocultar
'Funciona
Range("C:C,F:F,H:H").EntireColumn.Hidden = False
'Não funciona
'Range("& ocultar &").EntireColumn.Hidden = False
End Sub