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
#56258
Boa tarde pessoal, tudo bem?

Gostaria que por gentileza verifiquem se podem me ajudar.

Tenho uma base de dados onde na 1ª coluna disponível da aba "Base", que é a coluna "data", eu digito essa data manualmente no formato "dd/mm/aaaa" e depois arrasto para as demais células preenchidas. Criei algumas tabelas dinâmicas na aba "BS_DASH". Porém, gostaria de selecionar automaticamente no filtro de data da tabela, a última data que foi preenchida na base de dados. Tentei algumas aplicações, porém sem sucesso, como por exemplo..


Código: Selecionar todos
ActiveSheet.PivotTables("Tabela dinâmica13").PivotFields("Data"). _
        CurrentPage = Day(Application.Text(Application.Max(Sheets("Base").Range("A:A")), "dd/mm/yyyy"))
Porém retorna sempre "erro 1004".
Imagem

Outro ponto é que essa base de dados é bem extensa...muitas vezes ultrapassa 600.000 linhas. Se notarem, apenas as 2 ultimas linhas estão com fórmulas e eu copio e colo valores diariamente. Tentei utilizar um for next para automatizar, mas não funcionou. Se puderem me auxiliar também. Muito, muito grato mesmo. Obs:Tive que excluir quase todo o arquivo por causa do tamanho máximo aceito, por isso está pequeno.

Abs.
Você não está autorizado a ver ou baixar esse anexo.
#56265
tenta algo assim:
Código: Selecionar todos
Sub FiltroAutomatico()
    Dim vrtData As Variant

    ThisWorkbook.RefreshAll

    With Plan9.PivotTables("Tabela dinâmica5").PivotFields("Data")
        .ClearAllFilters
        .EnableMultiplePageItems = False

        vrtData = "" & Application.Text( _
                    Application.Max(Sheets("Base").Range("A:A")), "m/d/yyyy") & ""
    
        .CurrentPage = vrtData
    End With
End Sub
#56321
Tenta formatar a data da Tabela dinâmica 13 como dd/mm/aaaa ao invés de dd.
#56324
Código: Selecionar todos
For each td in Plan9.PIvotTables
         'Código utilizado anterioremente usando o objeto td ao invés de PIvotTables("Nome da TD")
Next td
#56328
Ficaria assim?

Se for está retornado erro 1004 no Whith.
Código: Selecionar todos
ub FiltroAutomatico()
    Dim vrtData As Variant

    ThisWorkbook.RefreshAll
    
    For Each Dinamica In Plan9.PivotTables


    [b]With Plan9.PivotTables(Dinamica).PivotFields("Data")[/b]
        .ClearAllFilters
        .EnableMultiplePageItems = False

        vrtData = "" & Application.Text( _
                    Application.Max(Sheets("Base").Range("A:A")), "m/d/yyyy") & ""
   
        .CurrentPage = vrtData
    End With
    
    Next Dinamica
    
End Sub
Imagem
#56332
Código: Selecionar todos
Sub FiltroAutomatico()
    Dim vrtData As Variant

    ThisWorkbook.RefreshAll
   
    For Each Dinamica In Plan9.PivotTables


    [b]With Dinamica.PivotFields("Data")[/b]
              .ClearAllFilters
              .EnableMultiplePageItems = False

              vrtData = "" & Application.Text( _
                    Application.Max(Sheets("Base").Range("A:A")), "m/d/yyyy") & ""
   
             .CurrentPage = vrtData
    End With
   
    Next Dinamica
   
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