Fråga : Att tillfoga kretsar till och med bestämda arbetssedlar för att sub - VBA

Experter

I har två - att kliva suben (se nedanfört). Förmiddag som I är pröva till uppsättningen som detta till på utförandet kör på efter arbetssedlarna endast: förmiddagen för

ALL Sales
New Sales
Old Sales

I undrar, om skulle en kretsa är det bäst långt som gör skulle något liknande för this.

I ”den huvudsakliga makroen” som ses i ”alt+F8en”, boxas för att vara ”SetupToPrint”. Skulle så handlingen av ”kretsar” är inom den SetupToPrint suben eller är en privat Sub för SetPrintAreaToPivotTable, ge således mig 3 privata Subs?
> för
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:
37:
38:
39:
40:
" codeBody " " >Sub SetupToPrint för class= " för
" klar "

Svar : Att tillfoga kretsar till och med bestämda arbetssedlar för att sub - VBA

Försök detta
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:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
Underhuvudsakligt ()
SetupToPrint ”ALLA Salar”,
SetupToPrint ”nya Salar”,
SetupToPrint ”gammala Salar”,
Avsluta suben

Sh privata underSetupToPrint (som stränger)
    
    Täcker (sh). Aktivera
    Appell SetPrintAreaToPivotTable
    Appell SetPageBreakToXNumberOfRows

Avsluta suben

Privata underSetPrintAreaToPivotTable ()

    Med ActiveSheet
        lPTcells = .PivotTables (”PivotTable1”) .DataBodyRange.Cells.Count
        Fastställd rngTopLeft = .PivotTables (”PivotTable1”) .RowRange.Cells (1)
        Fastställd rngBotRight = .PivotTables (”PivotTable1”) .DataBodyRange.Cells (lPTcells)
        strPTAddress = rngTopLeft.Address & ”: ” & rngBotRight.Address-'strPT tilltalar finns inte!
        .PageSetup.PrintArea = strAddress
    Avsluta med

Avsluta suben

Privata underSetPageBreakToXNumberOfRows ()

    Dunkla Lastrow som Long
        Dunkla Row_Index som Long
        Dunkel RW som Long
    
        'Hur många ror, du önskar mellan varje sidaavbrott
        RW = 48
        
        Med ActiveSheet
            'Ta bort all PageBreaks
            .ResetAllPageBreaks
            
            'Sökandet för jumbon ror med data i kolonn D
            Lastrow =. Celler (Rows.Count, ”D”). Avsluta (xlUp). Ro
            
            För Row_Index = RW + 2 till Lastrow kliver RW
                .HPageBreaks.Add för: =.Cells (Row_Index, 1)
            Därefter
    Avsluta med

Avsluta suben
Andra lösningar  
 
programming4us programming4us