i wird als Integer deklariert, richtig? (Ist ja eine Zahl) - Korrekt!
Aber den Rest hast du dann doch falsch verstanden. Einfach nur i = i +1 ohne alles andere, nur halt nach der For Zeile als neue Zeile. So meinte ich das:
Sub drucken()
Dim wksTab1 As Worksheet, wksTab2 As Worksheet
Dim intAnzahl As Integer, intZeilen As Integer
Dim i As Integer
Set wksTab1 = Worksheets("Einfügen")
Set wksTab2 = Worksheets("Ausdruck")
For intZeilen = 3 To wksTab1.Cells(Rows.Count, 1).End(xlUp).Row
i = i + 1
wksTab2.Range("A5") = wksTab1.Cells(intZeilen, 1)
wksTab2.Range("A4") = wksTab1.Cells(intZeilen, 4)
wksTab2.Range("A3") = wksTab1.Cells(intZeilen, 3)
wksTab2.Range("A2") = wksTab1.Cells(intZeilen, 6)
wksTab2.Range("A1") = wksTab1.Cells(intZeilen, 5)
wksTab2.Range("B7") = wksTab1.Cells(intZeilen, 2)
intAnzahl = wksTab2.Range("B7")
wksTab2.Range("B7") = i & " von " & intAnzahl
wksTab2.PrintOut Copies:=intAnzahl, Preview:=0, Collate:=1, IgnorePrintAreas:=0
Next
End Sub
oder du verwendest in Zeile 16 den Codevorschlag von Ralf, dann kannst du auf i = i + 1 auch verzichten. In dem Fall müsstest du die Zeile dann aber immer anpassen, wenn du z.B. For intZeilen = 4 oder so machst. daher der Eigene Counter.
Gruß Mr. K.
|