Question : Ajouter la boucle par certaines feuilles de travail pour substrater - VBA

Les experts, le

I ont un sous-marin en deux étapes (voir ci-dessous). J'essaye de placer ceci à lors de l'exécution courue sur les feuilles de travail suivantes seulement : le

ALL Sales
New Sales
Old Sales

I AM se demandant si une boucle serait la meilleure manière de faire this.

I voudrait « le macro principal » qui est vu dans la boîte « alt+F8 » pour être « SetupToPrint ». Est-ce qu'ainsi l'action de la « boucle » serait dans le sous-marin de SetupToPrint ou serait un sous-marin privé avant SetPrintAreaToPivotTable, de ce fait me donnant 3 sous-marins privés ?
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 " de l'id= " codeSnippet807662 de
           
class= de

Réponse : Ajouter la boucle par certaines feuilles de travail pour substrater - VBA

Essayer ceci
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 :
Substrater la force ()
SetupToPrint « TOUTES LES ventes »
SetupToPrint « nouvelles ventes »
SetupToPrint « vieilles ventes »
Sous-marin d'extrémité

SetupToPrint secondaire privé (SH comme corde)
    
    Feuilles (SH). Activer
    Appeler SetPrintAreaToPivotTable
    Appeler SetPageBreakToXNumberOfRows

Finir le sous-marin

SetPrintAreaToPivotTable secondaire privé ()

    Avec ActiveSheet
        lPTcells = .PivotTables (« PivotTable1 ») .DataBodyRange.Cells.Count
        Placer le rngTopLeft = le .PivotTables (« PivotTable1 ») .RowRange.Cells (1)
        Placer le rngBotRight = le .PivotTables (« PivotTable1 ») .DataBodyRange.Cells (les lPTcells)
        strPTAddress = rngTopLeft.Address et « :  » et adresse de strPT de rngBotRight.Address la 'n'existent pas !
        .PageSetup.PrintArea = strAddress
    Extrémité avec

Sous-marin d'extrémité

SetPageBreakToXNumberOfRows secondaire privé ()

    Faible Lastrow en tant que longtemps
        Faible Row_Index en tant que longtemps
        Le faible RW en tant que longtemps
    
        'Combien de rangées vous voulez entre chaque saut de page
        Le RW = 48
        
        Avec ActiveSheet
            'Enlever tout le PageBreaks
            .ResetAllPageBreaks
            
            'Rechercher la dernière rangée avec des données dans la colonne D
            Lastrow =. Cellules (Rows.Count, « D »). Extrémité (xlUp). Rangée
            
            Pour Row_Index = le RW + 2 à l'étape RW de Lastrow
                .HPageBreaks.Add avant : =.Cells (Row_Index, 1)
            Après
    Extrémité avec

Sous-marin d'extrémité
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us