• 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 Afrukken Draaitabel

Status
Niet open voor verdere reacties.

Jussie

Gebruiker
Lid geworden
21 jul 2012
Berichten
24
Goedenavond,

Heb hier een bestand met een macro waarin hij van elke adres die te vinden is in de filter van de draaitabel een afdruk maakt.
echter doet hij aan het begin 2 nutteloze pagina's eruit gooien met "leeg" in de filter. Ik wil alleen alle adressen die ik nodig heb.
hierbij bestandje, heb de macro nog zo staan dat hij alleen afdrukvoorbeelden laat zien ipv echt gaat afdrukken.
hoop dat iemand deze macro voor mij kan opschonen.

bedankt, Jussie
 

Bijlagen

Jussie,

kijk of zoek eens op rapportfilterpagina's weergeven.

Daarmee wordt van elke mogelijke waarde in het filter een aparte tab gemaakt.
Als je die tabs doorloopt en test op de naam van de tab kun je ook alle tab met gegevens afdrukken en daarna evt weer verwijderen
 
Code:
Sub PrintAll()
   On Error Resume Next
   Dim pt      As PivotTable
   Dim pf      As PivotField
   Dim pi      As PivotItem
   Set pt = ActiveSheet.PivotTables.Item(1)
   For Each pf In pt.PageFields
      For Each pi In pf.PivotItems
         [COLOR="#FF0000"]If pi.Name <> "(blank)" Then ' de lege niet afdrukken[/COLOR]
            pt.PivotFields(pf.Name).CurrentPage = pi.Name
            ActiveSheet.PrintPreview
         [COLOR="#FF0000"]End If[/COLOR]
      Next
   Next pf
End Sub
Het is wel netter om van je gegevens ofwel een tabel te maken ofwel een gedefinieerd bereik, dus geen volledig tabblad (>1 miljoen regels).
Daarmee had je eea. kunnen voorkomen.
 
Laatst bewerkt:
Lees onderwerptitel nog eens door :P
 
Als je van de bron een tabel maakt heb je geen lege rijen.
En een lusje minder kan ook als je de filter benoemd in de code (je hebt er toch maar een).

Code:
Sub PrintAll()
Dim pi As PivotItem
   With ActiveSheet.PivotTables(1).PivotFields("ROAZ regio")
      For Each pi In .PivotItems
        .CurrentPage = pi.Value
        .Parent.Parent.PrintPreview
      Next pi
  End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan