Clever-Excel-Forum

Normale Version: Bestimmten Bereich Drucke
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,


ich habe eine sehr umfangreiche Excel Tabelle mit mehreren Sheets erstellt.

Nun möchte ich immer nur bestimmte Bereiche drucken.

Als Beispiel nenne ich mal dass ich auf einer Auswahlseite eine "3" eintrage um auf der Ausgabeseite einen bestimmten Bereich zu drucken.

Wie ich mit VBA ganze Seite oder den Druckbereich über einen Button ausdrucke bekomme ich hin.

Mir fehlt wie ich diese "Auswahl" ( die oben genannte 3) da mit reinbekomme.

Vielen Dank für die Hilfe.
Hallöchen,

aufgezeichnet bekomme ich diesen Code:

Code:
Sub Makro1()
'
' Makro1 Makro
'

'
    ActiveWindow.SelectedSheets.PrintOut From:=3, To:=3, Copies:=1, Collate _
        :=True, IgnorePrintAreas:=False
End Sub

Statt der 3 kann man die Zelle programmieren, wo selbige drin steht, z.B.
Range("A1").Value

oder mit dem Blattnamen davor
Sheets("Tabelle2").Range("A1").Value
Danke, 

aber vielleicht habe ich mich nicht komplett richtig ausgedrückt. Ich möchte wenn ich diese 3 eingebe einen bestimmten bereich drucken. 

wenn ich aber eine 1,2 oder 4 eingebe sich der bereich vergrößert oder verkleinert.
Hallöchen,

dann ändere je nach Auswahl den Druckbereich

Im Prinzip
Code:
iAuswahl = Range("A1").value
Select Case Auswahl
   Case 1: Druckbereich="A1:B10"
   Case 2: Druckbereich="A11:B20"
   '...
End Select

Den genauen Code für eine Änderung des Druckbereichs kannst Du aufzeichnen. Im Case setzt Du nur die Definition eines Bereichs und nach End Select dann den kompletten Code zum Druckbereich setzen.
Würde mir das hier mal jemand einstellen. 

Ich bekomm das nicht hin

Wenn 1 ausgewählt ist soll der rote Bereich gedruckt werden
Wenn 2 ausgewählt ist soll der rote und der grüne Bereich gedruckt werden
Wenn 3 ausgewählt ist soll der rote, grüne und gelbe Bereich gedruckt werden

Vielen dank

Erweitern auf weitere Felder werde ich noch hinbekommen.
Hallo,

z.B. so:
Sub Druckmakro()
Dim lngAnzahl As Long
For lngAnzahl = 1 To Worksheets("Eingabe").Range("E9").Value
Select Case lngAnzahl
Case 1
Worksheets("Druck").Range("A2:J12").PrintPreview
Case 2
Worksheets("Druck").Range("A13:J24").PrintPreview
Case 3
Worksheets("Druck").Range("A25:J36").PrintPreview
Case Else
Exit For
End Select
Next lngAnzahl
End Sub
Zum Testen ist momentan die Anweisung PrintPreview drin. Zum richtigen Drucken bitte ändern in PrintOut.

Gruß Uwe
Sub Druckmakro()
  Dim lngAnzahl As Long
  For lngAnzahl = 1 To Worksheets("Eingabe").Range("E9").Value
    Select Case lngAnzahl
      Case 1
          Worksheets("Druck").Range("A2:J12").PrintOut
      Case 2
          Worksheets("Druck").Range("A13:J24").PrintOut
      Case 3
          Worksheets("Druck").Range("A25:J36").PrintOut
      Case Else
        Exit For
    End Select
  Next lngAnzahl
End Sub



Ist schon super. 

Aber die Felder sollten nicht alle einzeln gedruckt werden, sondern zusammnenhängend.
Je höher die Zahl desto mehr bereiche, aber alle auf einem Blatt.
(14.01.2020, 08:45)Xenon85 schrieb: [ -> ]Aber die Felder sollten nicht alle einzeln gedruckt werden, sondern zusammnenhängend.
Je höher die Zahl desto mehr bereiche, aber alle auf einem Blatt.
Sub Druckmakro()
Select Case Worksheets("Eingabe").Range("E9").Value
Case 1
Worksheets("Druck").Range("A2:J12").PrintPreview
Case 2
Worksheets("Druck").Range("A2:J24").PrintPreview
Case 3
Worksheets("Druck").Range("A2:J36").PrintPreview
End Select
End Sub
Gruß Uwe
Hallo, :19:

mache aus "A13" und "A25" dann "A2". :21:
Danke das funktioniert super. Genau so wie ich es gesucht habe.


Vielen Dank