Bestimmten Bereich Drucke
#1
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.
Top
#2
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
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.
Top
#4
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Xenon85
Top
#5
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.


Angehängte Dateien
.xlsx   Protokoll.xlsx (Größe: 14,19 KB / Downloads: 8)
Top
#6
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
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Xenon85
Top
#7
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.
Top
#8
(14.01.2020, 09: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
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Xenon85
Top
#9
Hallo, :19:

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


Vielen Dank
Top


Gehe zu:


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