Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Excel2007]Draaitabel op basis van dynamisch gegevensblad

Pagina: 1
Acties:

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 23:20
Ik probeer een Macro te maken waarin een draaitabel gevormd wordt op basis van de gegevens uit Blad1.
Ik heb hiervoor twee macro's:
Het aanvullen van alle data en selecteren hiervan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Voorbereiding_maand()
'
' Voorbereiding_maand Macro
' Datum-Aanvullen-Selecteren
'

'
    Range("D5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.TextToColumns Destination:=Range("D5"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 5), TrailingMinusNumbers:=True
    Dim lastrow As Long
     
    lastrow = Range("D5").End(xlDown).Row
    With Range("E5:K5")
        .AutoFill Destination:=Range("E5:K" & lastrow&)
    End With
    Range("A5:K5").Select
    Range(Selection, Selection.End(xlDown)).Select
End Sub

En het maken van de draaitabel en de waarden hierin:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub Draaitabel()
'
' Draaitabel Macro
'

'
    Sheets.Add
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Basis!R4C1:R339C11", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:="Blad1!R3C1", TableName:="Draaitabel1", DefaultVersion _
        :=xlPivotTableVersion12
    Sheets("Blad1").Select
    Cells(3, 1).Select
    With ActiveSheet.PivotTables("Draaitabel1").PivotFields("Af")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Draaitabel1").PivotFields("Jaar")
        .Orientation = xlRowField
        .Position = 2
    End With
    With ActiveSheet.PivotTables("Draaitabel1").PivotFields("Maand")
        .Orientation = xlRowField
        .Position = 3
    End With
    ActiveSheet.PivotTables("Draaitabel1").AddDataField ActiveSheet.PivotTables( _
        "Draaitabel1").PivotFields("OTC"), "Som van OTC", xlSum
    ActiveSheet.PivotTables("Draaitabel1").AddDataField ActiveSheet.PivotTables( _
        "Draaitabel1").PivotFields("Baxter"), "Aantal van Baxter", xlCount
    ActiveSheet.PivotTables("Draaitabel1").AddDataField ActiveSheet.PivotTables( _
        "Draaitabel1").PivotFields("Regulier"), "Aantal van Regulier", xlCount
    ActiveSheet.PivotTables("Draaitabel1").AddDataField ActiveSheet.PivotTables( _
        "Draaitabel1").PivotFields("Niet-WMG"), "Aantal van Niet-WMG", xlCount
    ActiveSheet.PivotTables("Draaitabel1").AddDataField ActiveSheet.PivotTables( _
        "Draaitabel1").PivotFields("Totaal"), "Som van Totaal", xlSum
End Sub

Mijn logica zegt dat ik de sourcedata op de een of andere manier zo moet krijgen dat hier iets staat als
"Basis!R4C1:R" & lastrow& & "C11"
zoals in code 1, maar ik krijg dit niet voor elkaar.

Iemand die enig idee heeft hoe ik dit voor elkaar krijg? Ik had het al opgesplitst om op basis van de selectie die ik uit code1 krijg de draaitabel aanmaak, maar hij schrijft toch de harde regels weg.