Office: Druckfunktion für mehrere Sheets

Helfe beim Thema Druckfunktion für mehrere Sheets in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi Leutz, ich habe ein kleines Problem. Ich bin dabei ein kleines Makro inkl. Userform zu programmieren... mit dessen Hilfe ich verschiedene... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Dr.Eck, 13. August 2010.

  1. Dr.Eck Erfahrener User

    Druckfunktion für mehrere Sheets


    Hi Leutz,

    ich habe ein kleines Problem. Ich bin dabei ein kleines Makro inkl. Userform zu programmieren... mit dessen Hilfe ich verschiedene Worksheets ausdrücken kann. Bei der von mir erstellten Datei handelt es sich um so etwas wie eine Giro-Konto-Übersicht, die sich in insgesamt 13 Sheets aufteilt. Die Druckfunktion soll die Möglichkeit beinhalten jedes Sheet auszudrucken... dies soll über ein Userform (siehe Anhang) realisiert sein. Das Userform beinhaltet verschiedene ComboBox-Elemente. Nur die Sheets, die auch über die CBox markiert sind sollen auch gedruckt werden. Aber genau daran scheitere ich leider.

    Hier der Code:
    Code:
    Private Sub cb1_Click()
    Application.ScreenUpdating = False
    
    Application.Dialogs(xlDialogPrinterSetup).Show 'Druckerauswahl
        Sheets(Array(Übersicht, Januar, Februar, März, April, Mai, Juni, Juli, _
        August, September, Oktober, November, Dezember _
        )).Select 'Auswahl und Selektierung der einzelnen Sheets (genau hier ist das Problem)
        Sheets("Übersicht").Activate 'Aktivieren des Ausgangssheets (ka warum)
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'Druckbefehl
        Worksheets("Übersicht").Activate 'Ausgangssheet aktivieren
    
    Unload Me
    End Sub
    Ich habe ein vergleicbares projekt in der Forumssuche gefunden:
    http://www.office-hilfe.com/support/htopic,14815,drucken+verschiedener+sheets.html
    Hier wird aber davon ausgegangen, dass nur ein Sheet angewählt wird.

    Die Alle Auswählen-Funktion läuft bei mir bereits problemlos.

    Vielleicht hat ja jemand eine Idee oder eine komplett andere Herangehensweise...

    Vielen Dank für eure Hilfe

    Edit: Der Code ist natürlich so nicht richtig... hier der "richtigere" Code:

    Code:
    Private Sub cb1_Click()
    Application.ScreenUpdating = False
    
    Dim a, b, c, d, e, f, g, h, i, j, k, l, m, x As String
    
    If cbox1.Value = True Then
    a = cbox1.Caption & ","
    b = "a ,"
    Else
    a = ""
    b = ""
    End If
    
    If cbox2.Value = True Then
    c = cbox2.Caption & ","
    d = "c ,"
    Else
    c = ""
    d = ""
    End If
    
    If cbox3.Value = True Then
    e = cbox3.Caption & ","
    f = "e ,"
    Else
    e = ""
    f = ""
    End If
    
    If cbox4.Value = True Then
    g = cbox4.Caption & ","
    h = "g ,"
    Else
    g = ""
    h = ""
    End If
    
    If cbox5.Value = True Then
    i = cbox5.Caption
    j = "i ,"
    Else
    i = ""
    j = ""
    End If
    
    x = a & c & e '& g & i
    
    
    Application.Dialogs(xlDialogPrinterSetup).Show 'Druckerauswahl
        Sheets(Array(x _
        )).Select 'Auswahl und Selektierung der einzelnen Sheets
        Sheets("Übersicht").Activate 'Aktivieren des Ausgangssheets (ka warum)
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'Druckbefehl
        Worksheets("Übersicht").Activate 'Ausgangssheet aktivieren
    
    Unload Me
    End Sub
    Die If-Abfrage hab ich noch nicht bis zum Schluss fertig gestellt... da ich da noch am testen war...

    Gruß
     
  2. Exl121150 Erfahrener User
    Hallo,

    ich habe Dir in der beiliegenden Excel-Datei 13 Arbeitsblätter (Januar, ..., Dezember, Übersicht) eingefügt. Ferner eine UserForm "FormEinstellungen" und ein allgem. Codemodul "Modul1".
    Das Arbeitsblatt "Übersicht" enthält den Button "Druckauswahl", mit dem die Userform aufgerufen wird, um die zu druckenden Arbeitsblätter bzw. den Drucker auszuwählen.

    Wichtig fürs Funktionieren des Codes ist, dass die Bezeichnungen der Checkboxes (chkBox1,..., chkBox12, chkBox13) "Januar", ..., "Dezember", "Übersicht" auf die Namen der entsprechenden Arbeitsblätter lauten müssen.

    Die Inhalte der einzelnen Arbeitsblätter (außer dem Button) kannst Du vergessen - sind nur Demoinhalte.
     
    Exl121150, 14. August 2010
    #2
  3. Dr.Eck Erfahrener User
    Vielen Dank für deine Antwort,
    die Funktion läuft soweit uach ganz gut... aber der von dir generierte Code ruft jedes Sheet einzeln zum Drucken auf... ich möchte aber verstärkt pdf's erstellen und diese wenn möglich in einer Datei. Ich weiß zwar, dass ich diese später zusammenfügen kann... würde das aber lieber direkt als ein pdf haben.
    Die von mir zu erst verwendete Druckfunktion benötigt, die Namen der Sheets, die zusammengefasst gedruckt werden... über ein bisschen hin und her kann ich das auch generieren... ich vermute aber, dass diese Abfolge im Anschluss nicht als Code sondern als String verstanden wird. Gibt es Möglichkeiten dies zu ändern?

    Hier nochmal der Code:
    Application.Dialogs(xlDialogPrinterSetup).Show 'Druckerauswahl
    Sheets(Array(x _
    )).Select 'Auswahl und Selektierung der einzelnen Sheets
    Sheets("Übersicht").Activate 'Aktivieren des Ausgangssheets (ka warum)
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'Druckbefehl
    'Worksheets("Angaben2").Activate 'nicht markiertes Sheet aktivieren
    Worksheets("Übersicht").Activate 'Ausgangssheet aktivieren

    Das rote x steht für die Variable... in der je nach Auswahl z.B. der Test steht: Januar, März, Dezember

    Wenn dies dann in der Druckfunktion als Code verstanden würde... dann wäre mein Problem gelöst... das ist aber nicht der Fall...
     
  4. Exl121150 Erfahrener User

    Druckfunktion für mehrere Sheets

    Hallo,

    ich habe Dir den Wunsch erfüllt, indem ich dynamisch ein Arbeitsblatt-Array "Blätter" erstellen lasse und dieses dann mittels
    Sheets(Blätter).PrintOut Copies:=1, ...
    ausdrucken lasse. Man kann das Ganze etwas verkomplizieren, indem man zuerst ein Selection-Objekt erstellt:
    Sheets(Blätter).Select
    ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True
     
    Exl121150, 14. August 2010
    #4
  5. Dr.Eck Erfahrener User
    Hallo Exl121150 ,

    deine Funktion läuft einwandfrei... hast mich mit deiner Idee auch noch auf eine eigene Idee gebracht, die auch funkioniert.
    Vielen Dank für deine Hilfe... erstklassig ;)

    Gruß
     
Thema:

Druckfunktion für mehrere Sheets

Die Seite wird geladen...
  1. Druckfunktion für mehrere Sheets - Similar Threads - Druckfunktion Sheets

  2. Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben

    in Microsoft Excel Hilfe
    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben: Hallo, ich suche gerade eine Möglichkeit mittels VBA mehrere Tabellenblätter auf einmal zu generieren (ca. 40), die auf einem Vorlage-Tabellenblatt (TB2) basieren. Das kopieren/ Vervielfachen an...
  3. Excel Macro durch Sheets springen und informationen sammeln?

    in Microsoft Excel Hilfe
    Excel Macro durch Sheets springen und informationen sammeln?: Frohes Neues Liebe Leute, Vielleicht kann mir wer helfen, ich komm hier einfach nicht mehr weiter.. L Ich versuche aktuell ein Macro zu schreiben das durch die offenen Sheets in einem Workbook...
  4. Werte entsprechend autoausfüllen

    in Microsoft Excel Hilfe
    Werte entsprechend autoausfüllen: Hallo, ich habe mehrere Sheets in einer Datei. In dem Master-Sheet stehen in einer Spalte verschiedene Wörter (1 Wort pro Zeile). In der danebenliegenden Spalte habe ich manuell y oder n...
  5. Blattnamen in neue Arbeitsmappe übernehmen

    in Microsoft Excel Hilfe
    Blattnamen in neue Arbeitsmappe übernehmen: Hallo, ich bin totale VBA-Anfängerin und stehe vor folgendem Problem: ich würde gerne ausgehend von einer vorhandenen Arbeitsmappe (XY) eine neue erstellen und in der neuen Arbeitsmappe (XYZ)...
  6. Verknüpfung zweier Excel sheets mit mehreren Spalten

    in Microsoft Excel Hilfe
    Verknüpfung zweier Excel sheets mit mehreren Spalten: Hallo, Frage: Ich habe zwei Excel sheets. Im zweiten ist in Spalte A eine Liste mit Ersatzteilen. In Spalte B ist eine Liste mit zugeordneten Teilen, also jedem Ersatzteil ist genau ein...
  7. Umstieg von Sheets

    in Microsoft Excel Tutorials
    Umstieg von Sheets: Umstieg auf Excel im Web von Sheets Kann ich mit anderen Benutzern an demselben Arbeitsblatt arbeiten? Ja! Klicken Sie einfach oben rechts auf Freigeben. [ATTACH] Was ist mit der Symbolleiste...
  8. Sheet ansprechen und Daten kopieren

    in Microsoft Excel Hilfe
    Sheet ansprechen und Daten kopieren: Hallo zusammen, Ich möchte gerne in einer ListBox Daten aus einem Tabellenblatt (Spalte A, Zeile 2.....x) darstellen. Bisher habe ich RowSource verwendet: ListBox_Name.RowSource = "Namen!a2:all...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden