• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro van draaitabel probleem

Status
Niet open voor verdere reacties.

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.

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
 
Het is iedere dag twee keer een andere zoekopdracht, ik zie niet hoe ik dit in een verbinding met Excel zou kunnen plaatsen. We doen een zoekopdracht in ons systeem en deze slaan we op in Excel, hier maken we een draaitabel van, we willen graag die draaitabel automatiseren, omdat dit het meeste werk is.
 
De draaitabel hoef je maar één keer te maken, het zijn de brongegevens die je aanpast:
- De gegevens van de zoekopdracht sla je op in bestand Data.xlsx
- Het rapport maak je in Rapport.xlsx, met gegevensverbinding naar Data.xlsx
- obv die gegevens maak je je draaitabel. Klaar.
Volgende keer:
- Data.xlsx overschrijf je met de nieuwe gegevens
- Je opent Rapport.xlsx, die haalt de nieuwe gegevens automatisch op.
- Je vernieuwt de draaitabel en klaar ben je.
Geen macro's nodig.
 
Kimberly1990,

Je kunt iedere keer van dezelfde gegevens gebruik blijven maken als je een dynamisch databereik gebruikt binnen Excel.
De truc is om gebruik te maken van een "dynamische range" deze reeks gebruik je dan als bron voor je draaitabel.

Kijk een bij: http://support.microsoft.com/kb/830287

Veel Succes.
 
Hallo allemaal,

Ik zit met hetzelfde probleem.Ik wil ook graag dat mijn draaitabel geautomatiseerd wordt maar ik gebruik eerst al een makro zodat er bepaalde dingen worden berekend. Nadat ik deze makro heb gebruikt wil ik een draaitabel maken en deze automatiseren. Hoe moet ik dit doen?
Dit is de link van mijn bestand: http://www.mijnbestand.nl/Bestand-SCQJKIJZ3KMX.xlsm

Groetjes
 
Wat wil je precies automatiseren van je draaitabel?
Het is overigens beter om een nieuwe vraag te starten dan in te breken in een oude vraag.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan