hallo Frankmann,
ich habe überlesen, daß das Kopieren starten soll wenn Änderungen erfolgen.
Private Sub Worksheet_Change(ByVal target As Range)
'Aufruf Function kopieren
kopieren
End Sub
Function kopieren()
Dim i As Integer
i = 1
Do Until (ActiveSheet.Cells(i, 1) = "")
If (ActiveSheet.Cells(i, 2) = "") Then
ActiveSheet.Cells(i, 1).Copy
ActiveSheet.Cells(i, 2).Activate
ActiveSheet.Paste
Else
End If
i = i + 1
Loop
End Function
Würde man den Code der in der Function "kopieren" steht, direkt in die Ereignisprozedur "Worksheet_Change" schreiben, so wird das Makro mehrmals nacheinander ausgeführt - was quatsch wäre.
Die Ereignisprozedur ("Private Sub Worksheet_Change(ByVal target As Range)") wird ausgelöst wenn das Ereignis "Worksheet_change" eintritt. ---> Nun wird die Function "kopieren" aufgerufen, d.h. die Do-Schleife läuft einmal durch bis die Abbruchbedingung (Cells(i, 1) = "") erfüllt ist - d.h. wenn die erste leere Zelle in Spalte A gefunden wird.
Gruß, Jörg
|