Avatar billede martin_schou Nybegynder
17. december 2001 - 12:58 Der er 15 kommentarer og
2 løsninger

Excel 2k, pivottabel og databaseudtræk

I mit ark har jeg tre flapper:
Grunddata
Diagram
Rapport

Grunddata laver et databaseudtræk
Rapport er en pivotabel baseret på dataene i Grunddata
Diagram er (sært nok) et diagram baseret på pivottabellen i Rapport.

Mit problem er som følger:
Når jeg åbner arket, så bliver diagrammet ikke opdateret, da pivottabellen ikke bliver opdateret når Grunddata-databaseudtrækket bliver opdateret.

Hvis jeg ellers har formuleret mig forståeligt, hvordan får jeg så pivottabellen opdateret EFTER Grunddata-databaseudtrækket er blevet opdateret?
Avatar billede martin_schou Nybegynder
17. december 2001 - 12:59 #1
Den eneste betingelse er, at opdateringen ikke sker vha. en brugeraktiveret makro.
Avatar billede bak Forsker
17. december 2001 - 13:01 #2
Stil dig på pivottabellen , højreklik og tryk på Opdater /refresh
Avatar billede b_hansen Novice
17. december 2001 - 13:01 #3
du kan lave en manuel opdatering ved at højreklikke på din pivot-tabel. Eller du kan lave en makro, der opdaterer din tabel, når der er ændret i grunddata
17. december 2001 - 13:03 #4
Manuelt er altid godt :-)

Hvis du opdater dine grunddata med en makro, så kan du også få den til at opdatere din pivottabel f.eks. sådan

Sheets(\"Rapport\").PivotTables(\"PivotTabel1\").RefreshTable
Avatar billede martin_schou Nybegynder
17. december 2001 - 13:04 #5
Opdateringen skal være automatisk - der må ikke være brugerinteraktion.

b_hansen: Hvordan skal sådan en makro se ud?
Avatar billede b_hansen Novice
17. december 2001 - 13:05 #6
*SSS* den har flemmingdahl lige vist dig
Ellers skal den placeres under Thisworkbook -> Sheetchange
Avatar billede martin_schou Nybegynder
17. december 2001 - 13:06 #7
grunddata opdateres automatisk ved åbning af arket - der skal ikke opdateres yderligere end ved åbning af arket, så den automatiske opdatering af pivottabellen skal ske ved åbning af filen men _efter_ opdateringen af grunddataene.
Avatar billede b_hansen Novice
17. december 2001 - 13:07 #8
så vil jeg mene, at du bør gøre, som flemmingdahl siger. Placér hans kodestump lige før din makro afsluttes. Så skulle Pivot-tabellen altid være opdateret med de nyeste grunddata
Avatar billede bak Forsker
17. december 2001 - 13:07 #9
En anden valgmulighed for dig er:
(beklager engelsk version)
stil dig på pivottabellen, højreklik, vælg options
sæt flueben i \"refresh on Open\"
dette vil få pivottabellen til automask at opdatere sig når arket åbner
Avatar billede b_hansen Novice
17. december 2001 - 13:08 #10
alternativt kan du lave nummeret before_save, da du jo givetvis gemmer dine data, før du lukker regnearket igen *S*
Avatar billede bak Forsker
17. december 2001 - 13:08 #11
automask = automatisk
17. december 2001 - 13:09 #12
Det er ikke sikkert, at der er en makro til at opdatere grunddataene - det kan være sat op til opdatering ved åbning.

OK - højreklik på fanebladet \"Rapport\" - vælg \"Vis programkode\" - indsæt følgende:

Private Sub Worksheet_Activate()
    ActiveSheet.PivotTables(\"OrdreTabel\").RefreshTable
End Sub

Så bliver PivotTabellen opdateret hvergang arket bliver aktiveret.
Avatar billede b_hansen Novice
17. december 2001 - 13:10 #13
hmmm.... god mulighed bak!

Men det forudsætter, at brugerne har nogle maksiner, der ikke går helt døde, når de åbner regnearket.
Avatar billede martin_schou Nybegynder
17. december 2001 - 13:10 #14
b_hansen: Nej, jeg gemmer nemlig IKKE dataene ved lukning :-)

bak: Den står i forvejen til \"opdater ved åbning\", men den opdaterer INDEN grunddata får opdateret.
Avatar billede b_hansen Novice
17. december 2001 - 13:12 #15
Hmmmm martin_schou... den var tricky *S*
Så bliver du nød til at placere den i worksheet_activate
Avatar billede martin_schou Nybegynder
17. december 2001 - 13:12 #16
i ThisWorkbook:

Private Sub sheetchange()
    Sheets(\"Rapport\").PivotTables(\"PivotTabel1\").RefreshTable
End Sub

Det virker sgu præcist, som jeg ønsker.

b_hansen og flemmingdahl - I får lige nogle points hver :-)
17. december 2001 - 13:12 #17
hov det var nok sådan (og ikke min egen ordretabel

Private Sub Worksheet_Activate()
    ActiveSheet.PivotTables(\"PivotTabel1\").RefreshTable
End Sub

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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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