2017-04-20 6 views
0

Ich erstelle eine Excel-Arbeitsmappe, die für Clients verwendet werden soll, bei denen die Blattregisterkarten ausgeblendet werden. Ich möchte ein Benutzerformular, wo Kunden auswählen, welche Blätter sie in Kontrollkästchen möchten und für diese dann zusammen ausgewählt werden (so dass die Seitennummerierung aktualisiert wird) sowie kontinuierlich gedruckt werden.Excel VBA: Auswählen mehrerer Arbeitsblätter basierend auf den Ergebnissen eines Benutzerformulars - zum Aktualisieren und Drucken

Von anderen Optionen, die ich gesehen habe, habe ich wie so ein bestimmtes Blatt mit den Namen der Blattnamen Bestücken:

Dim iRow As Long 
Set PP = Worksheets("Printing Page") 
Dim CB1 As Worksheet 
Set CB1 = Worksheets("Retail, Mall, Shopping Centres") 
Dim CB2 As Worksheet 
Set CB2 = Worksheets("Sports & Social Clubs") 

    'Clear & Populate the sheet 
    PP.Cells.Clear 

    PP.Cells(1, 1).Value = Chr(34) & CB1.Name & Chr(34) 
    PP.Cells(2, 1).Value = Chr(34) & CB2.Name & Chr(34) 


    'Check each checkbox and enter the sheet number in PP 

    If Me.CBRetailMallSC = False Then 
     PP.Rows(1).Delete 
    End If 

    If Me.CBSportsSocial = False Then 
     PP.Rows(2).Delete 
    End If 

Von dort habe ich versucht, diese Werte in einen Array und Transponieren Drehen oder eine Funktion wie in diesem link ausgeführt wird. Allerdings bekomme ich immer die Fehlermeldung "Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs" und zeige auf die Blätter (x). Codezeile auswählen.

Bitte bitte helfen, ich bin völlig und völlig verloren !!!

PS: wenn nur ein Kontrollkästchen ausgewählt ist, dann läuft alles gut, aber sobald 2, dann bricht es.

Antwort

0

Ist die Idee, dass der Client die Kontrollkästchen verwendet, um auszuwählen, welche ausgeblendeten Blätter sie ausdrucken möchten? Und Sie möchten sie als einzelnes Dokument anstelle von mehreren verschiedenen Dokumenten ausdrucken?

Wenn dies der Fall ist, benötigen Sie diese Logik. Sie haben eine spezielle Seite, auf die Sie die anderen Seiten kopieren können. (Ich verstehe jedoch nicht, warum Sie Zeilen von der "PP" -Seite löschen.) Sie können Kopf- und Fußzeilen mit Seitenzahlen auf Ihrer Druckseite hinzufügen. Sie müssen nur die zuletzt verwendete Zeile auf dem Druckbogen verfolgen.

Kopieren Sie für jedes Blatt, das der Client auswählt, den verwendeten Bereich. (Es hilft, die Breite innerhalb einer normalen Blattgröße beizubehalten, oder Sie können es programmgesteuert erzwingen, volle Seitengröße zu drucken.) Fügen Sie das erste kopierte Blatt in Zeile "A" des Druckbogens ein. Suchen Sie die zuletzt verwendete Zeile des Druckbogens und fügen Sie eine Zeile hinzu. Setzen Sie dort einen Seitenwechsel. Fügen Sie eine weitere Zeile hinzu und fügen Sie das zweite ausgewählte Blatt dieser Zeile usw. hinzu.

Verwandte Themen