Drucken mit Excel
#1
Hallo, ich bin ganz neu und benötige die Hilfe von echten Excel Spezialisten

Ich benutze Win10 mit Office 2013 auf einem Elitebook 840 G1

Der Drucker ist ein Brother MFC-J480W

Hier meine Frage zu einem Problem bei dem ich nicht weiß ob / wie ich es lösen kann.

Ich habe eine Mappe mit 4 Blättern.
1.      Blatt = Berechnung
2.      Blatt = Kunde 1
3.      Blatt = Kunde 2
4.      Blatt = Kunde 3
Auf Blatt 1 ist die Berechnung von Kunde 1 im Bereich von A15: S30
Auf Blatt 1 ist die Berechnung von Kunde 2 im Bereich von A33: S48
Auf Blatt 1 ist die Berechnung von Kunde 3 im Bereich von A51: S66
 
Nun brauche ich eine Lösung die es ermöglicht dass wenn ich Kunde 1 drucke sich am Ende
dass Blatt dreht (Drucker kann das) und dann den Bereich von Blatt 1 Kunde 1 auf die 2. Seite
im Querformat packt.
Dies natürlich auch für die anderen Kunden.
Bisher habe ich mit Druck Kunde und dann von Hand Blatt gedreht und Bereich markiert gedruckt.

Allerdings habe ich von Makros oder überhaupt so kein Plan.
Ist so was überhaupt möglich?

Gruß Michael
Top
#2
Hallo Michael,

Code:
Sub DruckenMakro()
  Dim lngIndex As Long
  With Worksheets("Berechnung")
    lngIndex = .Index
    .Move , Sheets(Sheets.Count)
    .PageSetup.PrintArea = "A15:S30"
    Sheets(Array("Kunde1", .Name)).PrintPreview
    .PageSetup.PrintArea = "A33:S48"
    Sheets(Array("Kunde2", .Name)).PrintPreview
    .PageSetup.PrintArea = "A51:S66"
    Sheets(Array("Kunde3", .Name)).PrintPreview
    .Move Sheets(lngIndex)
  End With
End Sub

Gruß Uwe
Top
#3
Hallo Kuwer,

vielen Dank für die Hilfe.

Es macht fast das was es soll..... 
Kunde 1 wird gedruckt - Blatt wird gewendet aber leer ausgegeben. Der Bereich wird dann auf einer weiteren Seite gedruckt.

Die Duplex Funktion ist aktiviert

Wie bekomme ich die Daten auf die gewendete Seite? 

Würdest Du bitte nochmal helfen??

Gruß Michael
Top
#4
Hallo Michael,

Code:
Sub DruckenMakro()
  Dim lngIndex As Long
  
  With Worksheets("Berechnung")
    lngIndex = .Index
    .Move , Sheets(Sheets.Count)
    .PageSetup.PrintArea = "A15:S30"
  End With
  With Worksheets("Kunde1")
    If .PageSetup.Pages.Count > 1 Then
      .PageSetup.PrintArea = Range(.Cells(1), Application.Intersect( _
        .HPageBreaks(1).Location.EntireRow, _
        .VPageBreaks(1).Location.EntireColumn).Offset(-1, -1)).Address
    End If
  End With
  Sheets(Array("Kunde1", "Berechnung")).PrintOut
  
  Worksheets("Berechnung").PageSetup.PrintArea = "A33:S48"
  With Worksheets("Kunde2")
    If .PageSetup.Pages.Count > 1 Then
      .PageSetup.PrintArea = Range(.Cells(1), Application.Intersect( _
        .HPageBreaks(1).Location.EntireRow, _
        .VPageBreaks(1).Location.EntireColumn).Offset(-1, -1)).Address
    End If
  End With
  Sheets(Array("Kunde2", "Berechnung")).PrintOut
  
  Worksheets("Berechnung").PageSetup.PrintArea = "A51:S66"
  With Worksheets("Kunde3")
    If .PageSetup.Pages.Count > 1 Then
      .PageSetup.PrintArea = Range(.Cells(1), Application.Intersect( _
        .HPageBreaks(1).Location.EntireRow, _
        .VPageBreaks(1).Location.EntireColumn).Offset(-1, -1)).Address
    End If
  End With
  Sheets(Array("Kunde3", "Berechnung")).PrintOut
    
  Worksheets("Berechnung").Move Sheets(lngIndex)
End Sub

Gruß Uwe
Top
#5
Hallo Uwe,

ich möchte von dem Ergebnis berichten.

Version 1 die du mir freundlicherweise zur Verfügung gestellt hast hat ja folgendes bewirkt.

Kunde wurde gedruckt dann das Blatt automatisch gewendet aber leer wieder ausgegeben, die Berechnung wurde dann auf dem 2. Blatt gedruckt.

Version 2 bewirkte das Kunde gedruckt wird das Blatt nicht gewendet wird und die Berechnung auf 2. Seite ausgegeben wird. So bei allen Kunden.

Nun bin ich am Überlegen ob ich Version 2 so behalte (Dein Einverständnis vorausgesetzt - da es ja Dein geistiges Eigentum ist) weil ich mir dann wenigstens das Blatt von Hand drehen spare.

Liebe Grüße 
Michael
Top
#6
Hallo Michael,

(01.03.2021, 18:41)Mibre62 schrieb: Nun bin ich am Überlegen ob ich Version 2 so behalte (Dein Einverständnis vorausgesetzt - da es ja Dein geistiges Eigentum ist) weil ich mir dann wenigstens das Blatt von Hand drehen spare.

ich bin damit einverstanden. Smile

Gruß Uwe
Top


Gehe zu:


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