"Worksheet_Change" nicht immer ausführen
27.06.2021 22:31:29
swammcrusher
mit Hilfe des Internets und ein bisschen rumprobieren, habe ich mir ein "Worksheet_Change" Code zusammengebastelt. Kurz zusammengefasst, wird der Wert der aktiven Zelle im Bereich von C2:C8 nach Eingabe um 8000000 erhöht. Die Funktion funktioniert schon einwandfrei, sobald der Wert in der Zelle >0 ist wird die "Addition" durchgeführt.
Wenn ich aber einen Wert per Copy und Paste in diese Zellen kopiere, wird dieser auch mit meinem Wert "X" addiert. Das ist ja soweit richtig, dafür ist ja das "Worksheet_Change" da.
Gibt es aber eine Möglichkeit, wie ich dieses "Worksheet_Change" für Copy und Paste Sachen unterbinden kann?
>> Sprich wenn Werte über Copy und Paste in die Zellen eingefügt werden, soll nicht Addiert werden. Bzw. wenn "manuell" ein Wert eingetippt wird dann soll es schon geschehen
Ich hoffe ich konnte mein anliegen einigermaßen verständlich beschreiben. Ich würde mich freuen wenn jemand von euch einen Idee hat, wie ich diese "Ausnahme" oder "Funktion" da mit unterbekommen könnte. :)
Anbei den Code den ich bisher habe.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo CleanExit
Dim SX_03 As Range
Set SX_03 = Range("C2:C8")
Application.EnableEvents = True
If Not Application.Intersect(SX_03, Range(Target.Address)) Is Nothing Then
If Range(Target.Address).Value = 0 Then
GoTo CleanExit
Else
Application.EnableEvents = False
Range(Target.Address).Value = Range(Target.Address).Value + 8000000
Application.EnableEvents = True
End If
End If
CleanExit:
Application.EnableEvents = True
On Error GoTo 0
End Sub
Vorab schonmal vielen Dank!
Mit freundlichen Grüßen
Marco