18. august 2003 - 10:13Der er
14 kommentarer og 2 løsninger
Pivotabel med formler i næste kolonne
Jeg har 1 simpel pivotabeller med 3 kolonner, i kolonne 4 vil jeg så gerne lave min egen formel ud fra andre data, det går også fint, men ved en opdatering kan der f.eks. kommer 100 ny rækker også mangler min formel på de 100 nye rækker, er der nogen der ved hvordan man kan få formlerne med ligsom ved et ODBC kald ?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det lyder som om at du laver den 4. kolonne til højre for din pivot tabel, som almindelige formler, som henter tallene fra de to øvrige kolonner.
Hvis du i stedet højreklikker mens musen peger på din pivottabel og vælger indsæt, så kan du oprette et nyt felt i pivottabellen, som beregner på alle de data der er i tabellen. Når du har valgt indsæt, kommer der en menu frem på skærmen, hvor du kan navngive det nye felt og opbygge din beregningsformel.
Det var egenligt også det jeg regnede med, men jeg kan ikke få en menu frem der hedder indsæt i pivotabellen og hvis jeg vælger den indsæt på kolonnen får jeg ikke lov til at indsætte en
Det er vigtigt, at musen peger på et område der er indenfor din pivot-tabel, for at du får den rigtige menu frem når du højreklikker. Jeg kører Excel 97 - hvilken version er det du arbejder med?
Du har ret, man skal blot makere hele tabellen for at indsætte kolonne, men mit problem er ikke løst fordi jeg har en formel med et opslag i et andet ark og det har man ikke lov til i pivotabellen
Så er vi ved at være tilbage til udgangspunktet med din 4. kolonne igen :-)
Du kunne lave en knap på dit regneark, som kan opdatere data og samtidig kopiere din formel fra kolonne 4 ned til den sidste række i pivot-tabellen. Hvad siger du til det. Jeg kan godt lave sådan en macro i aften, hvis du kan bruge den....
Det vil da bare være fint, men det bedste ville nok være at have det i VBA i arket sådan at formlen bliver kopieret ved aktivering af fanebladet..det skal jo ikke være fornemt :o)
Nu har jeg lavet et eksempel til dig. Jeg kan godt maile det, hvis du er interesseret. Ellers er koden nedenfor:
Jeg har et dataområde på Ark1 og min pivot tabel er på Ark4. I celle B1 på Ark4 er der mulighed for at vælge forskellige sider i pivotabellens side-dropdown. Det som macroen gør, er at holde øje med, når værdien i B1 ændres, så opdateres formlerne i den ekstra kolonne. Pivottabellen bliver også opdateret, når den aktiveres. Klassemodulet anvendes til at holde styr på værdien i B1.
I ark4's kodemodul placeres koden:
Private Sub Worksheet_Activate() Set CPivot = New OpdaterPivot CPivot.Område = Range("b1").Value ActiveSheet.PivotTables("Pivottabel1").RefreshTable Range(Cells(5, 3), Cells(Range("c5").End(xlDown).Row, 3)).ClearContents Range(Cells(5, 3), Cells(Range("b4").End(xlDown).Row, 3)).Value = "=+RC[-1]*R1C6" End Sub
Private Sub Worksheet_Calculate() If CPivot.Område <> Range("b1") Then CPivot.Område = Range("b1") Range(Cells(5, 3), Cells(Range("c5").End(xlDown).Row, 3)).ClearContents Range(Cells(5, 3), Cells(Range("b4").End(xlDown).Row, 3)).Value = "=+RC[-1]*R1C6" End If End Sub
Private Sub Worksheet_Deactivate() Set CPivot = Nothing End Sub
I ThisWorkbook kodemodul placeres koden: Private Sub Workbook_Open() Set CPivot = New OpdaterPivot CPivot.Område = Sheets("ark4").Range("b1").Value End Sub
Du skal tilføje et modul og skrive koden: Public CPivot As OpdaterPivot
Og til sidst tilføje et klassemodul, som du kalder OpdaterPivot, og tilføjer koden:
Option Explicit Private m_Område As String
Public Property Get Område() As String Område = m_Område End Property
Public Property Let Område(ByVal Omr As String) m_Område = Omr End Property
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.