Registriert seit: 09.01.2017
Version(en): 2010
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!
Registriert seit: 04.04.2017
Version(en): 2013
Hallo,
(26.10.2017, 13:59)Nordlicht85 schrieb: Leider komme ich nicht weiter.
Und was hast Du bisher?
Registriert seit: 09.01.2017
Version(en): 2010
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
Registriert seit: 04.04.2017
Version(en): 2013
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.
Registriert seit: 09.01.2017
Version(en): 2010
Ich habe es probiert, jedoch hat es da auch nicht geklappt.
Kannst du mir sagen was an meinen Codes falsch ist?
Registriert seit: 04.04.2017
Version(en): 2013
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?!
Registriert seit: 09.01.2017
Version(en): 2010
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".
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
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
Registriert seit: 09.01.2017
Version(en): 2010
26.10.2017, 16:53
(Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2017, 16:53 von Nordlicht85.)
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.
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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)