Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
848to852
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
848to852
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ausgewählte tabellenblätter drucken

ausgewählte tabellenblätter drucken
24.02.2007 13:10:00
lorenz
guten tag,
gegeben:
excel datei mit mehreren tabellenblättern. diese blätter gehören zu verschiedenen themenbereichen (z.b. sport, freizeit, beruf...).
wunsch:
wahlweise die blätter eines themenbereiches über einen befehl drucken (ohne dass die blätter der anderen themenbereiche mitgedruckt werden). optimal wäre es, wenn sich der druckbefehl über eine zelle, die mit dem themennamen versehen ist, steuert.
vielen dank für hilfen,
gruss
lorenz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ausgewählte tabellenblätter drucken
24.02.2007 14:34:00
daniel
Hallo
einfachste Lösung
  • auf jedes Blatt den Themenbereich, zu dem es gehört, in die gleiche Zelle schreiben (bspw A1)

  • alle Themenbereiche in einem eigenen Blatt auflisten

  • dort die Themenbereiche, die gedruckwerden sollen selektieren

  • dann dieses Makro starten
    Sub Themendruck
    Dim Zelle as Range
    Dim SH as worksheet
    For each Zelle in selection
    For each SH in activeworkbook.sheets
    if sh.Range("A1").value = Zelle.value then sh.printout
    Next SH
    Next Zelle
    End Sub
    

    Gruß, Daniel
    AW: ausgewählte tabellenblätter drucken
    24.02.2007 15:34:00
    fcs
    Hallo Lorenz,
    eigentlich wollte ich eine kleine Beispieldatei hochladen, funktioniert im Moment leider nicht :(.
    Füge in deiner Datei ein zusätzliches Tabellenblatt ein. Nach folgendem Schema trägst du die Bereichsnamen in der Spalte A ein und die Namen der zugehörigen Tabellen in den Spalten rechts daneben.
    Im VBA-Editor fügst unter der Tabelle eine der beiden folgenden Prozduren ein, je nachdem ob die Blätter eines Bereichs als gruppierte Blätter oder einzeln gedruckt werden sollen.
    Gruß
    Franz
    
    Tabellenblattname: Drucken
    A            B           C        D
    1
    2
    3  Zum Drucken der Tabellen eines Bereichs in Spalte A auf den Namen des Bereichs klicken
    4                                Der Ausdruck erfolgt mit Gruppierung der Registerblätter
    5
    6  Bereich   Namen der Tabellen, die bei Anklicken des Bereichs gedruckt werden
    7     Sport  Fussball   Handball   Golf
    8       Auto       Opel   Mercedes
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    'Variante 1:
    'Die einem Bereich zugeordneten Tabellenblätter werden gruppiert und gedruckt
    Dim TabNames(), text As String
    If Target.Column = 1 And Target.Row > 6 And Target.Cells.Count = 1 _
    And Not IsEmpty(Target) Then
    'Tabellennamen einlesen
    SpalteL = Me.Cells(Target.Row, Me.Columns.Count).End(xlToLeft).Column
    ReDim TabNames(1 To SpalteL - 1)
    text = "Folgende Tabellen drucken ? "
    For Spalte = 2 To SpalteL
    TabNames(Spalte - 1) = Me.Cells(Target.Row, Spalte)
    text = text & vbLf & Me.Cells(Target.Row, Spalte)
    Next
    If MsgBox(text, vbYesNo, "Tabellen Bereiche drucken") = vbYes Then
    Sheets(TabNames).PrintOut
    End If
    End If
    End Sub
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    'Variante 2:
    'Die Blätter eines Bereiches werden einzeln in der Reihenfolge der Zelleinträge gedruckt.
    Dim text As String
    If Target.Column = 1 And Target.Row > 6 And Target.Cells.Count = 1 _
    And Not IsEmpty(Target) Then
    'Tabellennamen einlesen
    SpalteL = Me.Cells(Target.Row, Me.Columns.Count).End(xlToLeft).Column
    text = "Folgende Tabellen drucken ? "
    For Spalte = 2 To SpalteL
    text = text & vbLf & Me.Cells(Target.Row, Spalte)
    Next
    If MsgBox(text, vbYesNo, "Tabellen Bereiche drucken") = vbYes Then
    For Spalte = 2 To SpalteL
    Sheets(Me.Cells(Target.Row, Spalte).Value).PrintOut
    Next
    End If
    End If
    End Sub
    

    Anzeige

    300 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige