Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken
#1
Hallo zusammen,

ich habe insgesamt 4 Tabellenblätter.

Ich möchte insgesamt 8 Makros erstellen:

Ich benötige für jedes Tabellenblatt einen Druck Makro, der einen festgelegten Zellenbereich innerhalb des Tabellenblattes druckt.

Zusätzlich soll dieser Zellenbereich per Makro nicht nur ausgedruckt werden, sondern per weiteren Makro soll die Option bestehen, die Datei als PDF abzuspeichen.

Tabelle 1: Zellenbereich A1:H216
Tabelle 2: Zellenbereich A1:I120
Tabelle 3: Zellenbereich A1:I140
Tabelle 2: Zellenbereich A1:I120

Wichtig ist, dass die Makros einzeln ausführbar sind, es ist nicht gewollt, mit einem Makro alle 4 Tabellenblätter auszudrucken.

Leider komme ich nicht weiter.

Ich hoffe mir kann einer helfen.

Vielen Dank!
Top
#2
Hallo,

(26.10.2017, 13:59)Nordlicht85 schrieb: Leider komme ich nicht weiter.

Und was hast Du bisher?
Top
#3
Ich habe 4 Makros wie folgt eingerichtet:

Sub druck()

ActiveWorkbook.Sheets("Tabelle1").PageSetup.PrintArea = "$A$1:$H$216"

End Sub

-------------------

Sub druck()

ActiveWorkbook.Sheets("Tabelle2").PageSetup.PrintArea = "$A$1:$I$120"

End Sub

-------------------

Sub druck()

ActiveWorkbook.Sheets("Tabelle3").PageSetup.PrintArea = "$A$1:$I$140"

End Sub

-------------------

Sub druck()

ActiveWorkbook.Sheets("Tabelle4").PageSetup.PrintArea = "$A$1:$I$120"

End Sub
Top
#4
Hallo,

hast Du mal den Makrorekorder verwendet? Der liefert da eigentlich alles was ban benötigt. Abspecken und anpassen kann man den Code dann im Nachhinein immernoch.
Top
#5
Ich habe es probiert, jedoch hat es da auch nicht geklappt.

Kannst du mir sagen was an meinen Codes falsch ist?
Top
#6
Hallo,

(26.10.2017, 14:26)Nordlicht85 schrieb: Ich habe es probiert, jedoch hat es da auch nicht geklappt.

Und das heißt? Wie sieht der aufgezeichnete Code aus?

(26.10.2017, 14:26)Nordlicht85 schrieb: Kannst du mir sagen was an meinen Codes falsch ist?

Du führst doch garkeinen Druck aus?!
Top
#7
Was meinst du mit ich führ doch gar keinen Druck aus? Was muss denn da geändert werden?

Ich hatte bei dem selbst erstellten Makro immer die Fehlermeldung "Debuggen".
Top
#8
Hallo,

Zitat:Kannst du mir sagen was an meinen Codes falsch ist?

woher soll Excel wissen, daß Du Drucken willst wenn Du es ihm durch Dein Makro nicht mitteilst?

Die Anweisung sollte in der Minimalversion etwa so aussehen (muß an Deine Bedingungen angepaßt werden):
Worksheets.PrintOut
Top
#9
Hallo,

danke für deine Rückmeldung.

Verstehe ich dich richtig, dass die korrekte formel wie folgt lauten muss:

Sub druck()

ActiveWorkbook.Sheets("Tabelle1").Worksheets.PrintOut = "$A$1:$H$216"

End Sub

Sub druck()

ActiveWorkbook.Sheets("Tabelle2").Worksheets.PrintOut = "$A$1:$I$120"

End Sub

Sub druck()

ActiveWorkbook.Sheets("Tabelle3").Worksheets.PrintOut = "$A$1:$I$140"

End Sub

Sub druck()

ActiveWorkbook.Sheets("Tabelle4").Worksheets.PrintOut = "$A$1:$I$120"

End Sub


Leider erfolgt dann die Fehlermeldung: Laufzeitfehler 9. Index außerhalb des gültigen Bereiches.
Top
#10
Aua!
Da stimmt nicht viel!
Ich würde komplett auf die Druckbereiche verzichten und statt dessen die Range.PrintOut-Methode verwenden.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste