AW: Kopieren
20.07.2015 17:24:08
Klexy
So sollte es gehen.
Ich hab alle Angaben als Variablen angelegt, damit du sie leicht ändern kannst, wenn sich das Formular oder die Blattnamen oder was auch immer ändern sollten.
Sub Formular_fuer_jeden_Datensatz_kopieren()
Dim Quellblatt As Worksheet, Zielblatt As Worksheet
Set Quellblatt = Worksheets("Daten")
Set Zielblatt = Worksheets("Formular-Vorlage")
Dim Höhe As Integer, Breite As Integer, Abstand As Integer
Höhe = 30 ' Höhe des Formulars
Breite = 12 ' Breite des Formulars
Abstand = 2 ' Abstand zwischen 2 Formularen
Dim Formular As Range, Schlüssel As Double, i As Integer, Schlüsselzelle As Range
Set Formular = Zielblatt.Range(Cells(1, 1), Cells(Höhe, Breite))
Formular.Select ' nur zur Verdeutlichung
For i = 3 To Quellblatt.UsedRange.Rows.Count
Schlüssel = Quellblatt.Cells(i, 1).Value
Formular.Copy Formular.Offset((i - 2) * (Höhe + Abstand), 0)
Formular.Offset((i - 2) * (Höhe + Abstand), 0).Select ' nur zur Verdeutlichung
Set Schlüsselzelle = Formular.Offset((i - 2) * (Höhe + Abstand), 0).Cells(1).Offset(3, 1)
Schlüsselzelle.Select ' nur zur Verdeutlichung
Schlüsselzelle = Schlüssel
Next i
MsgBox "Fertig" ' damit man weiß, wann es zu Ende geruckelt hat
End Sub