Cuestión : Adición del lazo a través de ciertas hojas de trabajo para sub - VBA

Los expertos,

I tienen un submarino de dos etapas (véase abajo). Estoy intentando fijar esto sobre a la ejecución funcionada con en las hojas de trabajo siguientes solamente: el

ALL Sales
New Sales
Old Sales

I que se pregunta si un lazo fuera la mejor manera de hacer this.

I quisiera la “macro principal” que se considera en la caja “alt+F8” para ser “SetupToPrint”. ¿La acción del “lazo” sería tan dentro de submarino de SetupToPrint o sería un submarino privado antes de SetPrintAreaToPivotTable, así dándome 3 submarinos privados?
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
>Sub notpretty SetupToPrint " del class= " del id= " codeSnippet807662 del
           
class= del

Respuesta : Adición del lazo a través de ciertas hojas de trabajo para sub - VBA

Intentar esto
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:
Sub la cañería ()
SetupToPrint “TODAS LAS ventas”
SetupToPrint “nuevas ventas”
SetupToPrint “viejas ventas”
Submarino del extremo

SetupToPrint secundario privado (sh como secuencia)
    
    Hojas (sh). Activar
    Llamar SetPrintAreaToPivotTable
    Llamar SetPageBreakToXNumberOfRows

Terminar el submarino

SetPrintAreaToPivotTable secundario privado ()

    Con ActiveSheet
        lPTcells = .PivotTables (“PivotTable1”) .DataBodyRange.Cells.Count
        Fijar el rngTopLeft = .PivotTables (“PivotTable1”) .RowRange.Cells (1)
        Fijar el rngBotRight = .PivotTables (“PivotTable1”) .DataBodyRange.Cells (los lPTcells)
        strPTAddress = rngTopLeft.Address y “: ¡” y dirección del strPT de rngBotRight.Address la 'no existe!
        .PageSetup.PrintArea = strAddress
    Extremo con

Submarino del extremo

SetPageBreakToXNumberOfRows secundario privado ()

    Lastrow dévil como de largo
        Row_Index dévil como de largo
        RW dévil como de largo
    
        'Cuántas filas usted quiere entre cada rotura de página
        RW = 48
        
        Con ActiveSheet
            'Quitar todo el PageBreaks
            .ResetAllPageBreaks
            
            'Buscar para la fila pasada con datos en la columna D
            Lastrow =. Células (Rows.Count, “D”). Extremo (xlUp). Fila
            
            Para Row_Index = RW + 2 al paso RW de Lastrow
                .HPageBreaks.Add antes: =.Cells (Row_Index, 1)
            Después
    Extremo con

Submarino del extremo
Otras soluciones  
 
programming4us programming4us