Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#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
#37218
RBShoT escreveu: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
Segue a macro que funcionou:
Sub ocultarColunas()
Dim linhas As Integer
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)
Range(ocultar).EntireColumn.Hidden = False
End Sub
#37219
Código: Selecionar todos
Sub OcultaColunas()
 Dim col As Range
 Columns.Hidden = False
  For Each col In Sheets("MACRO").Range("A1:A" & Sheets("MACRO").Cells(Rows.Count, 1).End(3).Row)
   Columns(col.Value).Hidden = True
  Next col
End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord