Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Antworten 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)
Antworten 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.
Antworten 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
Antworten 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)
Antworten 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
Antworten 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.
Antworten Top
#8
(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
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Xenon85
Antworten Top
#9
Hallo, :19:

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


Vielen Dank
Antworten Top


Gehe zu:


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