Mam problem z makrem vba w excelu. Próbuję manipulować filtrem w tabeli przestawnej i ciągle dostaje runtime error 1004 nawet jak puszcze makro które nagrałem :// ktoś coś wie skąd ten błąd? #vba #excel #makra
With ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data") .ClearAllFilters .EnableMultiplePageItems = True .CurrentPage = MyFilter End With
@RolnikSamWdolinie: Chodziło o format tego filtra - "Dim MyFilter As Date" było rozwiązaniem problemu.
Kiedy próbowaliśmy włączyć filtrowanie linią .CurrentPage = "30/12/2016" excel nie znajdował takiej wartości (bo data jest przechowywana jako numer (ilość dni od 01.01.1900) a to co się wyświetla (30/12/2016) to wynik formatowania.
@JanKremovski: Jeszcze pozawracam Ci tyłek jeśli można ;) Jak wrzucam do twojej funkcji bezpośrednio datę np "30/12/2016" albo to samo w stringu to jest ok ale jak zrobie stringa z funkcji dzisiej daty to znowu ten sam błąd :( np:
Dim MyFilter As Date
MyFilter = Format(Date, "dd/mm/yy")
With ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data") .ClearAllFilters .EnableMultiplePageItems = True .CurrentPage = MyFilter End With
End Sub Kombinowałem różne formaty daty i nie pomagało :(
With ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data") .ClearAllFilters .EnableMultiplePageItems = True .CurrentPage = Myfilter End With
ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data"). _
ClearAllFilters
ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data").CurrentPage _
= "30/12/2016"
Sub pFilter()
Dim pFilter As PivotFilter
ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data").
ClearAllFilters
Set pFilter = ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data")
.PivotFilters.Add(Type:=xlCaptionEquals, Value1:="30/12/2016")
End Sub
źródło: comment_neaoOwya2WT6W48FEBXI2hcr1MUD25Ym.jpg
PobierzSub pFilter()
Dim MyFilter As Date
MyFilter = "30/12/2016"
With ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data")
.ClearAllFilters
.EnableMultiplePageItems = True
.CurrentPage = MyFilter
End With
End Sub
Kiedy próbowaliśmy włączyć filtrowanie linią .CurrentPage = "30/12/2016" excel nie znajdował takiej wartości (bo data jest przechowywana jako numer (ilość dni od 01.01.1900) a to co się wyświetla (30/12/2016) to wynik formatowania.
Dim MyFilter As Date
MyFilter = Format(Date, "dd/mm/yy")
With ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data")
.ClearAllFilters
.EnableMultiplePageItems = True
.CurrentPage = MyFilter
End With
End Sub
Kombinowałem różne formaty daty i nie pomagało :(
Dim Myfilter As Date
Myfilter = Date
With ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Data")
.ClearAllFilters
.EnableMultiplePageItems = True
.CurrentPage = Myfilter
End With
End Sub