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.
#6185
Boa tarde a todos,

Tenho uma planilha muito grande de registros de transações. As vezes preciso olhar só as de um determinado ano.

Criei uma celula com validação de dados no topo da planilha para escolher o ano. Duas linhas abaixo, coloquei a formula ANO na data da transação. A data fica mais pra baixo, usei essa formula apenas para identificar o ano e usar como filtro (vou ocultar essa linha depois), como na imagem em anexo:

Imagem

Gostaria de fazer um macro que só deixasse as colunas que tivessem nessa linha o ano escolhido na célula C2 e ocultasse todo o resto. Tentei até fazer com meu médio conhecimento de VBA, mas não consegui. Alguém pode me ajudar?

Muito obrigado!
#6197
Fiz a macro e comentei todas as linhas
Neste caso, considerei que os valores referentes a ANO, estão dispostos na linha 2 da sua planilha. O valor de consulta é o inserido na célula A1.

Espero ter ajudado
Código: Selecionar todos
Sub Oculta_colunaAno()
' Macro desenvolvida pelo usuario daniexcel

' A macro analisa a linha 2... ou seja, os valores devem estar na linha 2


 Range("a1").Select
' S é a sua célula de consulta. O valor buscado nas colunas é o da célula A1

 s = [a1].Value
 
' insira o total de colunas a serem consultadas
' a analise começa na coluna B (2) e vai até a coluna correspondente ao numero 50 (ax). Voce pode alterar de acordo com sua necessidade
 For i = 2 To 50
 ' T determina a linha a ser consultada. Neste caso, utilizamos a linha 2. Se desejar alterar  a linha, favor alterar abaixo
 
 t = Cells(2, i)
 
 ' quando encontra uma célula em branco na linha 2, o loop encerra automaticamente, pois a macro entende que a busca acabou
 
 If t = 0 Then Exit For
 t1 = Val(t)
 
 ' Para cada célula com o valor do ano desejado, exibe uma mensagem de alerta. Se preferir sem, basta deletar a linha abaixo
 MsgBox t1
 
 ' aplica a regra para ocultar as colunas da célula A1
 If t1 <> s Then
 Columns(i).Hidden = True
 Else
 Columns(i).Hidden = False
 End If

 Next i
 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