ich habe folgendes Problem: Ich möchte mit dem Code, den ich online gefunden habe, eine Zeile in eine andere Tabelle verschieben. Dies soll geschehen, sobald sich der Inhalt einer Zelle in Spalte "N" auf "free" ändert. Das klappt soweit sehr gut. Allerdings möchte ich, dass die Zeile dann kopiert wird, sobald sich der Inhalt der Zelle durch eine Funktion ändert, also nicht manuell durch eine Zellenänderung. Dies klappt mit dem Code leider nicht. Kann mir jemand dazu helfen?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Dim lRow, zRow As Long
lRow = Sheets("MU3 Product Control").Range("A3000").End(xlUp).Row
zRow = Sheets("Tabelle2").Range("A3000").End(xlUp).Row + 1
Set Bereich = Range("N2:N" & lRow) '*** hier eintragen wo das Datum steht
If Not Intersect(Target, Bereich) Is Nothing Then
If (Target.Value) = "free" And Target.Value "" Then
With Range("A" & Target.Row & ":T" & Target.Row) '*** hier eintragen was kopiert werden _
soll
.Copy
Sheets("Tabelle2").Paste Destination:=Sheets("Tabelle2").Range("A" & zRow)
If IsNumeric(Sheets("Tabelle2").Range("A" & zRow - 1)) = True Then
Sheets("Tabelle2").Range("A" & zRow) = Sheets("Tabelle2").Range("A" & zRow).Offset(- _
1, 0) + 1
Else
Sheets("Tabelle2").Range("A" & zRow) = 1
End If
Application.EnableEvents = False
.Delete shift:=xlShiftUp
Sheets("MU3 Product Control").Range("A" & lRow).Delete
End With
End If
End If
Application.EnableEvents = True
End Sub