Markieren von Sheets

Bild

Betrifft: Markieren von Sheets
von: Peter Franz
Geschrieben am: 22.04.2005 09:57:52
Hallo,
ich muss häufig aus automatisch generierten Excel-Workbooks alle Sheets _bis_auf_das_zweite in eine pdf-Datei konvertieren. Also eine echte VBA-Anwendung.
Ich habe schon allerlei mit den Drucken-Optionen probiert (PrintOut), was aber nicht zu sinnvollen Ergebnissen führt.
Am besten wäre eine Routine, die alle Sheets bis auf das zweite markiert/anwählt. Wie kann man das umsetzen?
Bei einer Schleife werden die Sheets nur nacheinander, aber nicht zusammen angewählt. Alle Sheets anwählen ist auch simpel. Aber das zweite aus der Auswahl herauszubekommen, bekomme ich nicht hin.
Vielen Dank und beste Grüße
Peter

Bild

Betrifft: AW: Markieren von Sheets
von: DH
Geschrieben am: 22.04.2005 10:18:58

Sub Drucken()
    Set ash = ActiveSheet 'aktives Blatt merken
    
    i = 0
    Dim Seiten
    ReDim Seiten(ThisWorkbook.Sheets.Count - 2)
    ' -2 weil du ein Blatt weglässt und weil array bei 0 beginnt!
    
    For Each Blatt In ThisWorkbook.Sheets
        If Blatt.Name <> "Dein 2. Blatt" Then
            Seiten(i) = Blatt.Name
            i = i + 1
        End If
    Next
    Sheets(Seiten).Select
    Application.Dialogs(xlDialogPrint).Show
    ash.Select 'gemerktes Blatt wieder auswählen
End Sub

Bild

Betrifft: AW: Markieren von Sheets
von: Volker
Geschrieben am: 22.04.2005 10:29:27
Hallo Peter,
hier der simpel Vorschlag:
Sheets(2).Move Before:=Sheets(1)
Blatt 2 bis n ausdrucken
Sheets(2).Move Before:=Sheets(1)
fertig.
Bist Du denn sicher, dass das so geht?
Ich wollte mal per VBA für alle sheets die Seite einrichten.
Zu Fuß kann man alle Blätter markieren, so dass die Einstellungen auch für alle gelten.
Aber
Sheets.Select
With Selection.PageSetup... usw. ändert die Einstellungen nur für das 1. Blatt.
Warum, hab ich nie rausgekriegt und es darum per Schleife gemacht.
Wenn es bei Die geht, würd ich gerne mal den Code sehen.
Gruß
Volker
Bild

Betrifft: AW: Markieren von Sheets
von: Peter Franz
Geschrieben am: 22.04.2005 13:03:06
Hallo DH und Volker,
erst einmal vielen Dank für Eure Codevorschläge. Beide funktionieren auf Ihre Weise gut.
Wir nutzen die Excel-Tabellen hier für eine selbstgeschriebene Bestellösung. Die Sheets 1 und 2 sind Anschreiben an den Händler und Bestätigung für den Kunden und werden aus dem Workbook herauskopiert, in dem auch die VBA-Makros sind. Die Worksheets mit der eigentlichen Beschreibung der zu bestellenden Artikel kommen aus einem anderen Workbook. An dem Layout der Seiten ändert sich nichts. Das Pagesetup ist einfach in den Workbooks festgelegt, aus denen die Sheets kopiert werden. Da gibt es also keine Probleme. Bei Dir, Volker, ist der Fall wohl anders.
Für Leute, die den Code von DH verwenden wollen und wie ich ihre Makros in einem anderen Workbook abgelegt haben, der Hinweis ThisWorkbook durch ActiveWorkbook zu ersetzen, weil das Makro sonst auf dem falschen Workbook ausgeführt wird.
Beste Grüße
Peter
Bild

Betrifft: AW: Markieren von Sheets
von: WolleKa
Geschrieben am: 22.04.2005 15:13:50
Hallo Peter,
versuch's mal, indem du die 2 Tabelle ausblendest und dannnormal konvertierst.
Gruß
WolleKa
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Markieren von Sheets"