OldValue <> NewValue im Loop
26.07.2022 14:14:30
David
Schon so oft konnte ich als passiver Teilnehmer dieses Forums von eurem Wissen profitieren. Nun aber komme ich, nach einer endlosen und erfolgslosen Suche, nicht darum herum, selber einen Beitrag zu verfassen. Der untenstehende VBA Code funktioniert hervorragend, wenn einzelne Zeilen manuelle oder per Copy Paste geändert werden. Sobald ich jedoch mehrere Zeilen überschreibe, bekomme ich einen Typenfehler 13.
Dies liegt daran, dass die Zeile If StrConv(vNew, vbLowerCase) StrConv(vOld, vbLowerCase) nicht ausgeführt werden kann. Ich dachte, ich hätte dieses Problem durch den Loop behoben aber dem war nicht so.
Könnt ihr mir dabei helfen, dass der Loop korrekt funktioniert, sodass er auch bei mehreren eingefügten Zellen auf einmal korrekt reagiert?
Herzliche Grüsse
David:)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range, vNew, vOld
For Each c In Target.Cells
Set KeyCells = Range("A1:AO1")
If Not Application.Intersect(KeyCells, Target) Is Nothing Then
vNew = Target.Value
Application.EnableEvents = False
Application.Undo
vOld = Target.Value
Target.Value = vNew
Application.EnableEvents = True
If StrConv(vNew, vbLowerCase) StrConv(vOld, vbLowerCase) Then
Call Modul1.TabName1
Call Modul2.Email_Tabelle1
End If
End If
Next
End Sub