Clever-Excel-Forum

Normale Version: VBA Druck aus einem anderen Tabellenblatt über Button
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, über die Suchfunktion bin ich nicht fündig geworden, obwohl es die Frage bestimmt schon häufiger gab.

Ich befinde mich in "Tabelle2" und möchte dort über einen Button einen Bereich aus "Tabelle1" drucken. Mein Code sieht wie folgt aus:

Code:
Sub DruckenTabelle1()
    Worksheets("Tabelle1").PageSetup.PrintArea = "$A$1:$I$24"
    Application.Dialogs(xlDialogPrint).Show
    ActiveSheet.PageSetup.PrintArea = False
End Sub

leider klappt es nicht. 

Desweiteren habe ich es mit 
Code:
Worksheets("Tabelle1").Range("$A$1:$I$24").PrintOut

probiert und auch kein zufriedenstellendes Ergebnis bekommen.


Kann mir jemand sagen wo der Fehler bei meinem Code ist?

Vielen Dank und bleibt gesund,
Fabian
Hallo Fabian,

(24.01.2021, 15:18)sorrowed schrieb: [ -> ]Desweiteren habe ich es mit 
Code:
Worksheets("Tabelle1").Range("$A$1:$I$24").PrintOut

probiert und auch kein zufriedenstellendes Ergebnis bekommen.

was verstehst Du unter einem zufriedenstellendem Ergebnis?
Bei mir funktioniert das einwandfrei.

Gruß Uwe
Hallo Uwe,

Es ist gemeint, dass ich leider nicht das gewünscht Arbeitsblatt ansprechen kann.
Mit dem Code wird immer nur das komplette Arbeitsblatt gedruckt in dem der Button sich gerade befindet. Es scheint so als ob ich kein anderes Arbeitsblatt auswählen könnte.

Befindet sich der Button aber im aktiven Arbeitsblatt funktioniert alles wunderbar.

So sieht die Buttonfunktion momentan aus:

Code:
Sub DruckenTabelle1()
    Application.Dialogs(xlDialogPrint).Show
    Worksheets("Tabelle1").Range("$A$1:$I$24").PrintOut
End Sub

Danke und Gruß,
Fabian
Hallo Fabian,

wozu benötigst Du den Printdialog?

Gruß Uwe
Damit man den richtigen Drucker auswählen kann, im Büro sind mehrere angeschlossen.

Gruß Fabian
Hallo Fabian,

Code:
Sub DruckenTabelle1()
  Application.Dialogs(xlDialogPrinterSetup).Show
  Worksheets("Tabelle1").Range("$A$1:$I$24").PrintOut
End Sub

Gruß Uwe