VBA skabe pivot ud fra given tabel
Jeg arbejder tit med tabeller i Excel - jeg har dog aldrig helt forstået hvordan Excel nummererer disse.Jeg ønsker en knap der kører en simpel rutine og skaber en pivot i den celle jeg står på baggrund af den tabel som er øverst på samme faneblad.
Jeg tænkte først at jeg ville definere et objekt, men måske det er nemmere blot at selektere celle A1 og så bruge xltoright og xlDown?
Nogen der har en simpel syntaks på det?
Her er mine noter so far, alt fra cells(1,1) er blot optaget, så det kan sikkert gøres langt mere elegant og skal naturligvis defineres rigtigt.
Sub skab_pivot()
Dim adrAktuelCelle As Address
adrAktuelCelle = ActiveCell.Address
Cells(1, 1).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tabel15", Version:=6).CreatePivotTable TableDestination:="Ark1!R16C2", _
TableName:="PivotTable1", DefaultVersion:=6
Sheets("Ark1").Select
Cells(16, 2).Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Bilagsnr.")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Varenr.")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("Salgsbeløb (faktisk)"), _
"Sum of Salgsbeløb (faktisk)", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("Kostbeløb (faktisk)"), "Sum of Kostbeløb (faktisk)" _
, xlSum
With ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"Sum of Kostbeløb (faktisk)")
.NumberFormat = "#.##0,00"
End With
