Avatar billede Gamper Nybegynder
29. november 2012 - 14:00 Der er 3 kommentarer og
1 løsning

update pivot vha VBA

Hej,
Jeg vil gerne opdaterer nogle pivottabeller, vha. VBA. Jeg har det meste på plads, men roder helt rundt i definering af dimensioner.
jeg har fx følgende kode:

Private Sub Command10_Click()

DoCmd.Hourglass (-1)

Dim DateSet As Range
Dim PivotDate As Date
Dim TradeDate As Date
Dim pt As PivotTable
Dim pf As PivotFields

'Print Reports
Workbooks.Open FileName:="I:\Risk Management\Automated reports\EGO reports\EOD Credit Exposure\Credit Exposure Clients Report.xlsm"

'picks date from calendar
Form_Control_View.MonthView7.SetFocus
TradeDate = Form_Control_View.MonthView7

Workbooks.Application.Sheets("Summary").Select

'Range("D4").Value = "test"
Set DateSet = Range("F4")
DateSet.Value = TradeDate
savechanges = True

'PivotDate = Sheets("Summary").Range("F4")
PivotDate = TradeDate

Worksheets.Application.Sheets("Summary").Select


Excel.ActiveSheet.PivotTables("PivotTable1").PivotFields("TradeDate").ClearAllFilters
Excel.ActiveSheet.PivotTables("PivotTable1").PivotFields("TradeDate").CurrentPage = PivotDate

ActiveSheet.PivotTables("PivotTable2").PivotFields("TradeDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable2").PivotFields("TradeDate").CurrentPage = PivotDate

ActiveSheet.PivotTables("PivotTable4").PivotFields("TradeDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable4").PivotFields("TradeDate").CurrentPage = PivotDate

Worksheets.Application.Sheets("tDKK").Select

ActiveSheet.PivotTables("PivotTable2").PivotFields("TradeDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable2").PivotFields("TradeDate").CurrentPage = PivotDate

ActiveSheet.PivotTables("PivotTable3").PivotFields("TradeDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable3").PivotFields("TradeDate").CurrentPage = PivotDate

ActiveSheet.PivotTables("PivotTable4").PivotFields("TradeDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable4").PivotFields("TradeDate").CurrentPage = PivotDate

Worksheets.Application.Sheets("full_List").Select

ActiveSheet.PivotTables("PivotTable1").PivotFields("TradeDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("TradeDate").CurrentPage = PivotDate

Worksheets.Application.Sheets("Summary").Select

ActiveWorkbook.Close savechanges = True

DoCmd.Hourglass (0)
End Sub
Avatar billede xenoxsis Nybegynder
29. november 2012 - 14:27 #1
Det er lidt svært at hjælpe uden at vide mere. Kunne du måske beskrive hvad der ikke virker (evt. linienummer), hvad det er du forsøger mm.

- Xenoxsis
Avatar billede Gamper Nybegynder
29. november 2012 - 14:38 #2
Yes - fejlen er "Application-defined or object-defined error",
og fremkommer i linjen:

Excel.ActiveSheet.PivotTables("PivotTable1").PivotFields("TradeDate").CurrentPage = PivotDate
Avatar billede xenoxsis Nybegynder
29. november 2012 - 15:05 #3
Prøv:

ActiveSheet.PivotTables("Pivottabel1").PivotFields("TradeDate").ClearValueFilters
    ActiveSheet.PivotTables("Pivottabel1").PivotFields("TradeDate").PivotFilters.Add _
        Type:=xlSpecificDate, Value1:=PivotDate
Avatar billede Gamper Nybegynder
29. november 2012 - 15:23 #4
det ændrer ikk rigtig noget desværre - samme fejl, samme sted.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester