Kimberly1990
Nieuwe gebruiker
- Lid geworden
- 24 jan 2010
- Berichten
- 3
Goedemiddag,
In de afgelopen weken heb ik al een aantal keren gezocht op dit forum naar het antwoord op mijn vraag maar ik kom er niet uit. Iedere dag exporteren wij bepaalde gegevens uit ons systeem om hier een draaitabel van te maken, omdat iedere dag de gegevens anders zijn maken we dit dus elke keer weer opnieuw. Nu was mij voorgesteld om hier een macro van te maken, dit heb ik gedaan maar nu blijkt dat de macro zich vasthoudt aan een bepaald bereik. Ik heb overal gezocht om te kijken of ik de code in VBA kan aanpassen zodat dit bereik dynamisch wordt maar de codes die ik gebruik lijken niet te werken. Als ik een code gebruik, krijg ik namelijk foutcode 1004: Eigenschap PivotFields van klasse PivotTables kan niet worden opgehaald. En deze foutcode lijk ik niet te kunnen oplossen. Onderstaand in het rood de code zonder dynamisch bereik, dus zoals ik de macro gewoon heb opgenomen. En onderstaand in het blauw de regel waarin ik foutcode 1004 krijg wanneer ik de code voor dynamisch bereik gebruik.
Kan iemand mij hiermee helpen?
Alvast hartelijk dank.
In de afgelopen weken heb ik al een aantal keren gezocht op dit forum naar het antwoord op mijn vraag maar ik kom er niet uit. Iedere dag exporteren wij bepaalde gegevens uit ons systeem om hier een draaitabel van te maken, omdat iedere dag de gegevens anders zijn maken we dit dus elke keer weer opnieuw. Nu was mij voorgesteld om hier een macro van te maken, dit heb ik gedaan maar nu blijkt dat de macro zich vasthoudt aan een bepaald bereik. Ik heb overal gezocht om te kijken of ik de code in VBA kan aanpassen zodat dit bereik dynamisch wordt maar de codes die ik gebruik lijken niet te werken. Als ik een code gebruik, krijg ik namelijk foutcode 1004: Eigenschap PivotFields van klasse PivotTables kan niet worden opgehaald. En deze foutcode lijk ik niet te kunnen oplossen. Onderstaand in het rood de code zonder dynamisch bereik, dus zoals ik de macro gewoon heb opgenomen. En onderstaand in het blauw de regel waarin ik foutcode 1004 krijg wanneer ik de code voor dynamisch bereik gebruik.
Kan iemand mij hiermee helpen?
Alvast hartelijk dank.
Code:
Sub Macro1()
'
' Macro1 Macro
'
'
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
[COLOR="#FF0000"]"Blad1!R1C1:R158C56"[/COLOR], Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Blad2!R3C1", TableName:="Draaitabel2", DefaultVersion _
:=xlPivotTableVersion10
Sheets("Blad2").Select
Cells(3, 1).Select
[COLOR="#0000FF"]With ActiveSheet.PivotTables("Draaitabel2").PivotFields("ProductID")[/COLOR]
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Draaitabel2").PivotFields("fldOmschrijvingNL")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Draaitabel2").PivotFields("fldOrderNummer")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("Draaitabel2").PivotFields( _
"tblOrder::fldScheepsNaam")
.Orientation = xlRowField
.Position = 4
End With
With ActiveSheet.PivotTables("Draaitabel2").PivotFields( _
"tblOrder::DeliveryDate")
.Orientation = xlRowField
.Position = 5
End With
ActiveSheet.PivotTables("Draaitabel2").AddDataField ActiveSheet.PivotTables( _
"Draaitabel2").PivotFields("fldAantalBesteld"), "Som van fldAantalBesteld", _
xlSum
Range("D6").Select
ActiveSheet.PivotTables("Draaitabel2").PivotFields("tblOrder::fldScheepsNaam"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
Range("C6").Select
ActiveSheet.PivotTables("Draaitabel2").PivotFields("fldOrderNummer").Subtotals _
= Array(False, False, False, False, False, False, False, False, False, False, False, False _
)
Range("A24").Select
ActiveSheet.PivotTables("Draaitabel2").PivotFields("ProductID").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
Columns("B:B").ColumnWidth = 16.71
Columns("C:C").ColumnWidth = 8
Columns("E:E").ColumnWidth = 10.57
Columns("A:A").ColumnWidth = 8
End Sub