Makro Dynamisieren

Bild

Betrifft: Makro Dynamisieren
von: Hans-Georg
Geschrieben am: 21.04.2005 20:46:25
Hallo VBA - Spezialisten,
ich habe nachfolgendes Makro per Recorder aufgezeichnet:


Sub Drucken1()
'
' Drucken1 Makro
' Makro am 21.04.2005 von Hans - Georg aufgezeichnet
'
'
    ActiveWindow.ScrollWorkbookTabs Sheets:=1
    ActiveWindow.ScrollWorkbookTabs Sheets:=1
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
    Sheets("Drucken").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate _
        :=True
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("Hauptseite").Select
End Sub

Die Tabelle "Drucken1" hat insgesamt 36 Blätter, von denen ich jedoch nicht jedesmal einen Ausdruck benötige. Ich habe mir im Tabellenblatt "Hauptseite" eine Liste erstellt von den Blättern die gedruckt werden sollen. In Zelle A1 der "Hauptseite" wird dann eine Zahl angegeben, (zB.15) das heißt also, dass im Tabellenblatt "Drucken1" die Seiten 1-15 gedruckt werden sollen. Wie bekomme ich es hin, das im Makro an entsprechender Stelle diese Zahl eingefügt wird ?
Vielen Dank für eure Vorschläge !
Hans-Georg
Bild

Betrifft: ...mit einer Variablen, die aus A1 geladen wird...
von: Luc:-?
Geschrieben am: 21.04.2005 22:03:21
...Hans-Georg!
Die musst du am Anfange deines Makros deklarieren:
dim blattAnz as Long
Dann musst du sie mit dem Wert aus A1 laden nachdem ihr Blatt aktiviert wurde:
blattAnz=ActiveSheet.Range("A1").Value
Ja, und dann musst du sie nur noch anwenden, indem du nicht To:=2, sondern To:=blattAnz schreibst.
Gruß Luc :-?
Bild

Betrifft: @Luc
von: Hans-Georg
Geschrieben am: 21.04.2005 22:07:24
Hallo Luc,
danke erst einmal für Deine Mühe, leider verstehe ich nur "Bahnhof".
Kannst du das Makro mal entsprechend ändern ?
Das wäre sehr nett !
Danke
Hans-Georg
Bild

Betrifft: Junge, Junge, so schwer ist das doch gar nicht....
von: Luc:-?
Geschrieben am: 21.04.2005 22:47:55
...Hans-Georg,
wie du hier sehen kannst:

Sub Drucken1()
' Druckmakro
' Makro am 21.04.2005 von Hans - Georg aufgezeichnet
' und ergänzt 
    dim blattAnz as Long
    with ActiveWindow
       .ScrollWorkbookTabs Sheets:=1
       .ScrollWorkbookTabs Position:=xlLast
       Sheets("Drucken").Select
       blattAnz = ActiveSheet.Range("A1").Value
       .SelectedSheets.PrintOut From:=1, To:=blattAnz, Copies:=1, _
                                                   Collate:=True
       .ScrollWorkbookTabs Position:=xlFirst
   end with
   Sheets("Hauptseite").Select
End Sub 

Gute Nacht!
Luc :-?
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Multipage dynamisch erzeugen"