Microsoft Excel

Herbers Excel/VBA-Archiv

Art Seriendruck in Excel | Herbers Excel-Forum


Betrifft: Art Seriendruck in Excel von: Reinhard Gottwald
Geschrieben am: 31.07.2012 12:00:26

Hallo Leute,
ich habe da ein Problem ich hole aus einer Excel Mappe Daten füge die in in einer anderen Arbeitsmappe ein. Dort drucke ich das Blatt aus. Nehme dann Zellen aus der Mappe raus und füge diese in eine weitere Mappe ein in welcher sich dann alle Daten Sätze ansammeln und verbleiben. Ich habe mir Makros geschrieben mit unterschiedlichen Anzahlen von drucken zb 50 20 10 5 2 1 da die Vorgaben der zu druckenden Daten variieren sind mal 486 mal 877 oder sonst wie viel. Mehr als 50 kann ich in ein Makro nicht rein da es sonst zu groß wird. Da ich mich in VBA nicht auskenne (  ) suche ich nun hier um Hilfe. Gibt es eine Möglichkeit, das Excel das komplette Datenblatt direkt abarbeitet bis zum Ende, egal wie viel es sind. Die Vorgabe wird irgendwann wieder gelöscht bzw. lösche ich die Zeile weil ich anders nicht zurechtkam. Beim nächsten Mal gibt es neue Daten. Ich hab das Makro für 1x druck und für 2x druck angefügt. Ich denke mal einigen von euch stehen dabei sicher die Haare zu berge, aber ich behelfe mir halt so, wenn auch umständlich. Trotzdem mal die bitte bzw. Frage ob hier wer ne Idee hat wie sich das ohne großen Aufwand lösen lässt.
Ich bedanke mich schon mal ganz lieb
Reinhard

Sub Druck_D_XX_D_1()
'
' Druck_D_XX_D_1 Makro
'

'
    Windows("D-Druck-XX-D-062012.xlsm").Activate
    Range("AP5:AQ8").Select
    ActiveCell.Value = ActiveCell.Value + 1
    Windows("Drucken-XX-D-D.xlsx").Activate
    Range("A1:S1").Select
    Selection.Delete Shift:=xlUp
    Selection.Copy
    Windows("D-Druck-XX-D-062012.xlsm").Activate
    Range("A70").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Calculate
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Range("A70:AN70").Select
    Calculate
    Selection.Copy
    Windows("Gedruckt-XX-D.xlsx").Activate
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A1").Select
    ActiveWorkbook.Save
    Windows("D-Druck-XX-D-062012.xlsm").Activate
    Range("AP5:AQ8").Select
End Sub
Sub Druck_D_XX_D_2()
'
' Druck_D_XX_D_2 Makro
'

'
    Windows("D-Druck-XX-D-062012.xlsm").Activate
    Range("AP5:AQ8").Select
    ActiveCell.Value = ActiveCell.Value + 1
    Windows("Drucken-XX-D-D.xlsx").Activate
    Range("A1:S1").Select
    Selection.Delete Shift:=xlUp
    Selection.Copy
    Windows("D-Druck-XX-D-062012.xlsm").Activate
    Range("A70").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Calculate
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Range("A70:AN70").Select
    Calculate
    Selection.Copy
    Windows("Gedruckt-XX-D.xlsx").Activate
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A1").Select
    ActiveWorkbook.Save
    Windows("D-Druck-XX-D-062012.xlsm").Activate
    Range("AP5:AQ8").Select
    ActiveCell.Value = ActiveCell.Value + 1
    Windows("Drucken-XX-D-D.xlsx").Activate
    Range("A1:S1").Select
    Selection.Delete Shift:=xlUp
    Selection.Copy
    Windows("D-Druck-XX-D-062012.xlsm").Activate
    Range("A70").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Calculate
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Range("A70:AN70").Select
    Calculate
    Selection.Copy
    Windows("Gedruckt-XX-D.xlsx").Activate
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A1").Select
    ActiveWorkbook.Save
    Windows("D-Druck-XX-D-062012.xlsm").Activate
    Range("AP5:AQ8").Select
End Sub

  

Betrifft: AW: Art Seriendruck in Excel von: Armin
Geschrieben am: 31.07.2012 12:13:37

Hallo Reinhard,
ohne Musterdatei wirst Du wenig Leute finden die sich mühsam die Exceldatei zusammen basteln nur um Dir eine Lösung aufzuzeigen. Beschreibe außerdem Ausagngspunkt und Ziel und dann werden wir sehen.



Gruß Armin


  

Betrifft: AW: Art Seriendruck in Excel von: Reinhard Gottwald
Geschrieben am: 31.07.2012 12:28:36

Danke Armin ich werde ne Musterdatei rein stellen


  

Betrifft: AW: Art Seriendruck in Excel von: Reinhard Gottwald
Geschrieben am: 31.07.2012 13:18:31

so habe 3 dateien geladen

https://www.herber.de/bbs/user/81214.xlsx die datei welche gedruckt wird
https://www.herber.de/bbs/user/81215.xlsx die datei (beispiel mit daten)
https://www.herber.de/bbs/user/81216.xlsx ne leere in welche die daten rein)


  

Betrifft: AW: Art Seriendruck in Excel von: Rudi Maintaire
Geschrieben am: 31.07.2012 13:40:48

Hallo,
teste mal:

Sub Druck_D_XX_D()
  Dim wksAus As Worksheet, wksQuelle As Worksheet, wksGedruckt As Worksheet, lngRow As Long
  
  Set wksAus = ThisWorkbook.Sheets("Ausgabeblatt")
  Set wksQuelle = Workbooks("Drucken-XX-D-D.xlsx").Sheets(1)
  Set wksGedruckt = Workbooks("Gedruckt-XX-D.xlsx").Sheets(1)
  
  With wksAus
    For lngRow = 2 To wksQuelle.Cells(Rows.Count, 1).End(xlUp).Row
      wksQuelle.Cells(lngRow, 1).Resize(, 19).Copy
      .Range("AP5") = .Range("AP5") + 1
      .Range("A70").PasteSpecial xlPasteValues
      Application.CutCopyMode = False
      Calculate 'wozu auch immer???
      .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
      .Range("A70:AN70").Copy
      With wksGedruckt
        .Range("A1").PasteSpecial Paste:=xlPasteValues
        Application.CutCopyMode = False
        .Rows("1:1").Insert Shift:=xlDown
        .Parent.Save
      End With
    Next
  End With
End Sub

Gruß
Rudi


  

Betrifft: AW: Art Seriendruck in Excel von: Reinhard Gottwald
Geschrieben am: 31.07.2012 13:49:08

Rudi ein ganz ganz dickes lob an dich - funzt super - wenn du ne frau wärst würd ich jetzt sag ich könnt dich knutschen _ Danke

lg

Reinhard


  

Betrifft: AW: Art Seriendruck in Excel von: Reinhard Gottwald
Geschrieben am: 31.07.2012 13:33:31

noch mal die Datei die geruckt wird mit den makros

https://www.herber.de/bbs/user/81217.xlsm

musste was raus nehmen sonst wäre die zu groß gewesen


Beiträge aus den Excel-Beispielen zum Thema "Art Seriendruck in Excel"