Hvis du bruger Excel 2010 eller nyere kan du lægge dine data i en navngiven tabel og så få pivoten til at hente alt indhold fra tabellen. Så vil den ikke længere kigge på størrelsen af tabellen, men på alt indholdet.
Det område hvor du har dine data skal formatteres som en tabel. Når du gør det, får tabellen automatisk tildelt et navn, som du vil kunne se oppe i menu-linien i venstre side når du har klikket på "Tabel-værktøjer" i toppen af menu-linjen. I din Pivot-kode skal du så, som vist, skrive navnet på tabellen ind i stedet for at skrive noget med størrelse. Tabellen vil nemlig indrette sig efter hvor meget du fylder i den og pivot-tabellen vil opdatere alle det a der ligger i tabellen ligegyldigt hvor mange eller få rækker der måtte være på det givne tidspunkt.
Du kan altså forstille dig at tabellen er en spand og indholdet er vand, og når du opdaterer pivot-tabellen henter den alt det vand der ligger i spanden hvad enten det er en hel eller en halv liter vand...
Hvis jeg forstår det korrekt så henter din kode først data ind i et ark og ud fra disse data dannes derefter en pivot-tabel?
Hvis dette er korrekt skal du ændre tabel-navnet i koden der hvor der hentes data ind i arket udefra og det samme tabel-navn skal så sættes ind i koden der dannet pivot-tabellen som vist i en tidligere tråd.
Derefter vil du slet ikke have brug for RC-kodningen længere.
Så igen... har du mulighed for at sende koden til mig, så jeg kan markere hvor det er du skal lægge ændringerne ind?
Som jeg læser det skal du danne pivot-tabellen ud fra data i Worksheet(2).
En løsning kunne derfor være, at du i worksheet(2) lægger nedenstående kode ind, som vil konvertere alle dataene i dette faneblad til en tabel og derefter lægger du dette tabelnavn ind i den kode der danner din pivot-tabel.
bemærk at du skal oprette to variabler
Dim Bund as long dim Kol as long
'Starter fra celle (A1) og finder nederste række med indhold. Cells(1, 1).Select Selection.End(xlDown).Select 'Tildeler variablen Bund nummeret på den nederste række der skal være med i tabellen Bund = ActiveCell.Row 'Starter fra celle (A1) og finder sidste kolonne med indhold. Cells(1, 1).Select Selection.End(xlToRight).Select 'Tildeler variablen Kol nummret på den sidste kolonne der skal være med i tabellen Kol = ActiveCell.Column Cells(1, 1).Select 'Opretter tabellen og tildeler den navnet "Tabel1" (dette navn kan du selv ændre ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(Bund, Kol)), , xlYes).Name = _ "Tabel1" 'Vælger den formattering som tabellen skal have. (Husk at hvis du vil ændre tabelnavnet skal det også ændres herunder) Range(Cells(1, 1), Cells(Bund, Kol)).Select ActiveSheet.ListObjects("Tabel1").TableStyle = "TableStyleMedium2"
Herefter er alle data i en navngiven tabel og du kan nu blot henvise til dette navn i din Pivot-kode hvorefter alle data kan pivoteres efter ønske.
Håber at det giver mening og ellers vender du bare retur så jeg kan forsøge igen. Mine pædagogiske evner er ikke de bedste såå...
Synes godt om
Ny brugerNybegynder
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.