Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1684to1688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Blätter per VBA select drucken

Excel Blätter per VBA select drucken
01.04.2019 16:08:17
Domi
Hallo Forum,
ich habe mich jetzt längere Zeit mit dem Drucken von mehreren Blättern beschäftigt.
Das ging gut solang die Blätter Anzahl nicht zu hoch war (3 Tabellenblätter).
Bis Dato habe ich das ganze wie folgt codiert:
  • 
    Sub Montagepapier_FSU_DOI()
    Dim Tabelle As Worksheet
    For Each Tabelle In ActiveWorkbook.Worksheets
    Tabelle.PageSetup.PrintArea = ""
    Next Tabelle
    Sheets(Array("Checklist", "FSU", "Einbauerklärung")).Select
    ActiveWorkbook.Sheets("Checklist").PageSetup.PrintArea = "$A$1:$I$102"
    ActiveWorkbook.Sheets("FSU").PageSetup.PrintArea = "$A$1:$I$51"
    ActiveWorkbook.Sheets("Einbauerklärung").PageSetup.PrintArea = "$A$1:$H$55"
    Application.Dialogs(xlDialogPrint).Show
    End Sub
    

  • Da ich jetzt auf 6 Tabellenblätter erweitern musste werden die Kombinationsmöglichkeiten zu viele. Nun möchte ich nach dem Prinzip in der Beispiel Datei meine Reiter auswählen und dann über einen Button Drucken. Leider scheiter ich an dem Code der mir je nach Auswahl der Kästen Meine Tabellenblätter auswählt.
    https://www.herber.de/bbs/user/128823.xlsm
    Ich wäre für jegliche Hilfe dankbar. Falls ihr noch mehr Informationen braucht werde ich diese schnellstmöglich nachliefern,
    ansonsten verbleibe ich mit besten Grüßen,
    LG Domi

    7
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Excel Blätter per VBA select drucken
    01.04.2019 18:13:20
    Wolfgang33
    Hallo Domi,
    warum setzt du den Druckbereich immer wieder neu?
    Verändert sich da was automatisch?
    Gruß Wolfgang33
    AW: Excel Blätter per VBA select drucken
    02.04.2019 07:21:08
    Domi
    Servus Wolfgang33,
    Je nach Umfang der verschiedenen Prüfungen (das ganze wird eine Montageprüfliste) müssen die Werker entsprechende Prüfungen machen oder nicht.
    Damit sie nicht immer alle (sagen wir mal) 6 Excel Blätter ausdrucken müssen würde ich ihnen gerne ohne viel Aufwand (das ist für so Leute immens wichtig wenn es um Veränderung geht) eine "Schaltzentrale" anbieten wo sie quasi durch einfaches Haken setzen entscheiden können, welche der Excel Blätter gedruckt werden und welche nicht.
    TL:DR
    Das Dokument ist nur teilweise dynamisch aber diese Druckoptionen dienen va. dazu nicht immer 20 Seiten zu drucken und davon teilweise nur 10 zu nutzen.
    Anzeige
    AW: Excel Blätter per VBA select drucken
    02.04.2019 09:37:41
    Domi
    Hello again,
    ich habe jetzt einen Ansatz, der mir aber Probleme bereitet.
    Sub Schaltfläche3_Klicken()
    Dim s1 As String
    Dim s2 As String
    Dim Tabelle As Worksheet
    For Each Tabelle In ActiveWorkbook.Worksheets
    Tabelle.PageSetup.PrintArea = ""
    Next Tabelle
    If Range("A4") = True Then
    s1 = Range("A2").Value
    End If
    If Range("B4") = True Then
    s2 = Range("B2").Value
    End If
    Sheets(Array(s1, s2)).Select
    Application.Dialogs(xlDialogPrint).Show
    End Sub
    
    Dieser Code funktioniert nur, wenn ich beide Tabellenblätter drucken will. Sobald ich eines nicht auswähle stört sich Excel daran, dass im Array eine leere Variable steht.
    Hat hier jemand eine Lösung oder bin ich mit dem Ansatz auf einem Holzpfad?
    Anzeige
    AW: Excel Blätter per VBA select drucken
    02.04.2019 14:52:31
    Fragstuff
    Hallo anbei die "Lösung" ?
    Habe ein bisschen gegoogelt :)
    Sub Schaltfläche3_Klicken()
    Dim s1 As String
    Dim Tabelle As Worksheet
    For Each Tabelle In ActiveWorkbook.Worksheets
    Tabelle.PageSetup.PrintArea = ""
    Next Tabelle
    If Range("A4") = True Then
    s1 = Range("A2").Value
    End If
    If Range("B4") = True Then
    s1 = s1 & "," & Range("B2").Value
    End If
    Sheets(Split(s1, ",")).Select
    Application.Dialogs(xlDialogPrint).Show
    End Sub
    

    AW: Excel Blätter per VBA select drucken
    02.04.2019 15:27:24
    Domi
    Hoii Fragstuff und danke für deinen Input!
    Hast du noch eine Lösung wenn ich Tabelle1 nicht auswähle sondern nur Tabelle2?
    Im Moment nimmt die Variable den Wert ",Tabelle2" an und damit hat die drittletzte Zeile dann ihre Probleme.
    Am liebsten würde ich die Zeile:
    Sheets(Split(s1, ",")).Select
    

    dynamisch machen aber da fehlt mir leider das Knowhow
    Anzeige
    AW: Excel Blätter per VBA select drucken
    02.04.2019 21:43:57
    Dieter
    Hallo Domi,
    versuch es mal mit dem folgenden Code
    Sub Montagepapier_FSU_DOI()
    Dim arr() As Variant
    Dim i As Long
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim zeile As Long
    Set wb = ThisWorkbook
    Set ws = wb.Worksheets("Steuerung")
    For zeile = 2 To 25
    If ws.Cells(zeile, "B") Then
    ReDim Preserve arr(0 To i)
    arr(i) = ws.Cells(zeile, "A")
    i = i + 1
    End If
    Next zeile
    wb.Sheets(arr).Select
    Application.Dialogs(xlDialogPrint).Show
    End Sub
    

    Im zugehörigen Blatt "Steuerung" habe ich in A2:A25 die Namen von 24 Tabellenblättern und in B2:B25 die Wahrheitswerte WAHR oder FALSCH in weißer Schrift.
    https://www.herber.de/bbs/user/128861.xlsm
    Viele Grüße
    Dieter
    Anzeige
    AW: Excel Blätter per VBA select drucken
    03.04.2019 07:56:45
    Domi
    Hey Dieter,
    wow klasse das Funktioniert wunderbar. Auf diesen Ansatz wäre ich nich tmal im Traum gekommen..
    Vielen Dank dafür und natürlich an alle die mir geholfen haben.
    Beste Grüße!
    LG Domi

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige