Ich habe das Skript unten, das tut ziemlich viel, was ich will, aber ich brauche es nur abzufeuern, wenn jemand einen Wert aus dem Bereich E9: E17 löscht. Es ist nicht wirklich ein SelectionEvent, es ist eher ein Change_Event, aber wenn die Änderung das Löschen ist, ist der Wert aus der Zelle verschwunden, bevor ich ihn erfassen kann. Ich denke das SelectionEvent muss das Change Event aufrufen. Macht das Sinn? Lassen Sie es mich wissen, wenn Sie eine Klärung benötigen. Vielen Dank!!Wie kann ich nur ein Makro auslösen, wenn jemand einen Wert aus einem bestimmten Bereich löscht?
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.EnableEvents = True
If Not Intersect(Target, Range("E9:E17")) Is Nothing Then
GetValue = ActiveCell.Value
GetCustomer = ActiveCell.Offset(0, -1).Value
With Sheets("LargeCustomerOP").Range("D2:D6") 'searches range in Col D
Set Rng = .Find(What:=GetCustomer, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Rng.Offset(0, 1).Value = Rng.Offset(0, 1).Value + GetValue
Else
'value not found
End If
End With
End If
Application.EnableEvents = True
End Sub
Nun, ich habe daran gedacht, aber ich bin mir nicht sicher, wie es aussehen würde. Wenn es leer ist, ist die Möglichkeit, den Wert zu erfassen, weg. Wenn es nicht leer ist, gibt es nichts zu tun, richtig. Wenn Sie eine funktionierende Lösung haben, senden Sie den Code bitte. – ryguy72
Sie haben nicht genau beschrieben, was Ihre Ereigniskette zu tun hat. – jkpieterse