Frage : Hinzufügen der Schleife durch bestimmte Arbeitsblätter Sub - VBA

Experten,

I haben ein zweistufiges Unterseeboot (unten sehen). Ich versuche, dieses auf nach die Durchführung einzustellen, die nur auf die folgenden Arbeitsblätter laufen gelassen:

ALL Sales
New Sales
Old Sales

I morgens wundernd, wenn eine Schleife die beste Weise sein, this.

I zu tun, möchte in den „Hauptmakro“, das Kasten „alt+F8“ gesehen, um „SetupToPrint“ zu sein. So sein die Tätigkeit der „Schleife“ innerhalb des SetupToPrint Unterseeboots oder sein ein privates Unterseeboot vor SetPrintAreaToPivotTable und so geben mir 3 private Unterseeboote?
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:
6:
37:
38:
39:
40:
Sub SetupToPrint ()
    Anruf SetPrintAreaToPivotTable
    Anruf SetPageBreakToXNumberOfRows

Enden-Unterseeboot

Privates VorSetPrintAreaToPivotTable ()

    Mit ActiveSheet
        lPTcells = .PivotTables („PivotTable1“) .DataBodyRange.Cells.Count
        rngTopLeft = .PivotTables („PivotTable1“) .RowRange.Cells einstellen (1)
        rngBotRight = .PivotTables („PivotTable1“) .DataBodyRange.Cells (lPTcells) einstellen
        strPTAddress = rngTopLeft.Address u. „: “ u. existieren rngBotRight.Address 'strPT Adresse nicht!
        .PageSetup.PrintArea = strAddress
    Ende mit

Enden-Unterseeboot

Privates VorSetPageBreakToXNumberOfRows ()

    Schwaches Lastrow als lang
        Schwaches Row_Index als lang
        Schwaches RW als lang
    
        'Wieviele Reihen Sie zwischen jedem Seitenende wünschen
        RW = 48
        
        Mit ActiveSheet
            'Alles PageBreaks entfernen
            .ResetAllPageBreaks
            
            'Nach der letzten Reihe mit Daten in Spalte D suchen
            Lastrow =. Zellen (Rows.Count, „D“). Ende (xlUp). Reihe
            
            Für Row_Index = RW + 2 zum Lastrow Schritt RW
                .HPageBreaks.Add vorher: =.Cells (Row_Index, 1)
            Zunächst
    Ende mit

Enden-Unterseeboot

Antwort : Hinzufügen der Schleife durch bestimmte Arbeitsblätter Sub - VBA

Dieses versuchen
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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
Sub Hauptleitung ()
SetupToPrint „ALLE Verkäufe“
SetupToPrint „neue Verkäufe“
SetupToPrint „alte Verkäufe“
Enden-Unterseeboot

Privates VorSetupToPrint (SH als Schnur)
    
    Blätter (SH). Aktivieren
    SetPrintAreaToPivotTable benennen
    SetPageBreakToXNumberOfRows benennen

Unterseeboot beenden

Privates VorSetPrintAreaToPivotTable ()

    Mit ActiveSheet
        lPTcells = .PivotTables („PivotTable1“) .DataBodyRange.Cells.Count
        rngTopLeft = .PivotTables („PivotTable1“) .RowRange.Cells einstellen (1)
        rngBotRight = .PivotTables („PivotTable1“) .DataBodyRange.Cells (lPTcells) einstellen
        strPTAddress = rngTopLeft.Address u. „: “ u. existieren rngBotRight.Address 'strPT Adresse nicht!
        .PageSetup.PrintArea = strAddress
    Ende mit

Enden-Unterseeboot

Privates VorSetPageBreakToXNumberOfRows ()

    Schwaches Lastrow als lang
        Schwaches Row_Index als lang
        Schwaches RW als lang
    
        'Wieviele Reihen Sie zwischen jedem Seitenende wünschen
        RW = 48
        
        Mit ActiveSheet
            'Alles PageBreaks entfernen
            .ResetAllPageBreaks
            
            'Nach der letzten Reihe mit Daten in Spalte D suchen
            Lastrow =. Zellen (Rows.Count, „D“). Ende (xlUp). Reihe
            
            Für Row_Index = RW + 2 zum Lastrow Schritt RW
                .HPageBreaks.Add vorher: =.Cells (Row_Index, 1)
            Zunächst
    Ende mit

Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us