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.
  • Avatar do usuário
Por alexborges
#23728
Prezados,

Não conheço muito sobre VBA mas estou aprendendo aos poucos e na marra...
Vai ser um pouco confuso de explicar, mas vamos lá:

Tenho uma Pasta de Trabalho do Excel que contém uma planilha referente a cada mês (Janeiro, Fevereiro [...])
Dentro de cada planilha eu inseri uma tabela com o mesmo nome da planilha, ou seja, minha Tabela1 vai ser Janeiro, Tabela2 Fevereiro e assim por diante.
Eu criei um UserForm que adiciona os dados nas tabelas automaticamente dependendo da data da notícia.
Por exemplo: se a data da notícia for 06/06/2017 os dados serão inseridos na tabela de Junho.

Até aí tudo bem.

O que eu queria era que ao fechar o UserForm ele filtrasse uma coluna específica da planilha do mês atual.
O que eu consegui até agora foi o que está no código abaixo, mas só para uma tabela específica, porque não consigo substituir "JUNHO" por MesNome nessa parte:

Range("JUNHO[[#All],[LEGENDA]]"), xlSortOnCellColor, xlAscending, , _
xlSortNormal).SortOnValue.Color = RGB(252, 228, 214)

Por enquanto estou usando como Macro.
Código: Selecionar todos
Dim MesNome As String
    MesNome = Format(UserForm1.DataRegistro.Text, "mmmm")
    
    
    ActiveWorkbook.Worksheets(MesNome).ListObjects(MesNome).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(MesNome).ListObjects(MesNome).Sort.SortFields.Add( _
        Range("JUNHO[[#All],[LEGENDA]]"), xlSortOnCellColor, xlAscending, , _
        xlSortNormal).SortOnValue.Color = RGB(252, 228, 214)
    With ActiveWorkbook.Worksheets(MesNome).ListObjects(MesNome).Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
#23801
Boa tarde!

Você poderia postar seu arquivo modelo?


Att
Por alexborges
#23905
Alexandre, boa tarde!

Consegui resolver colocando referência à célula onde quero fazer o filtro, no caso:

Worksheets(MesNome).Range("H2")
Código: Selecionar todos
ActiveWorkbook.Worksheets(MesNome).ListObjects(MesNome).Sort.SortFields.Add( _
        Worksheets(MesNome).Range("H2"), xlSortOnCellColor, xlAscending, , _
        xlSortNormal).SortOnValue.Color = RGB(252, 228, 214)
    With ActiveWorkbook.Worksheets(MesNome).ListObjects(MesNome).Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
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