Jeg har lavet en makro i Excel der genererer en pivotabel udfra nogle data i et regneark. Når brugeren ændrer nogle data opdaterer makroen automatisk pivotabelen ved at slette den gamle og derefter lave en ny. Men.... Det viser sig at pivottabelen låser de celler hvor den bliver placeret og når jeg så beskytter mit ark kan makroen ikke slette den gamle pivotabel.
Jeg har forsøgt at slette alle data i den gamle pivottabel og derefter indsætte nye, men det er åbenbart ikke muligt at slette data fra en pivottabel.
Er der nogen der har en god idé til hvordan jeg løser dette problem?
Eller måske: du finder både de ny og de gamle members (de gamle som er ikke eksisterende i det nye dataset) i en eventuel drop down liste i pivot tabellen (f.eks. for page) før og efter opdatering af data? Så tror jeg jeg har en løsning.
Skulle lige kopiere det eventuelle svar ind, idet jeg svarede en anden for nogen tid siden med den samme (forhåbentlig) problemstilling; at vedkommende blev ved med at se gamle members i pivottabellen: Har haft dette irreterende problem i en tidligere version af xl - har det ikke i den nuværende 2003 version jeg har. Men jeg kørte nedenstående makro i sheet'et som jeg fik af en kollega - det var kun nødvendigt en gang - og så løstes problemet efter en "data refresh". Paste koden ind som VBA coding, hit ALT+F11 i din Excel file, go to Insert >Module og paste koden ind.
Sub DeleteMissingItemsAll() 'prevents unused items in non-OLAP PivotTables
'in Excel 2002 and later versions 'If unused items already exist, 'run this macro then refresh the table Dim pt As PivotTable Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets For Each pt In ws.PivotTables pt.PivotCache.MissingItemsLimit = xlMissingItemsNone pt.PivotCache.Refresh Next pt Next ws
Undskyld. Jeg har været på ferie og har derfor ikke fået svaret.
Problemet blev løst ved at låse arket op ved macro'ens start og låse det igen til slut. Har ikke fået testet ovenstående programstump, men det kan også være en mulig 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.