Ich habe folgende Problemstellung: Auf meinem Tabellenblatt, auf dem sehr viele Berechnungen durchgeführt werden, sollen bei Copy/Paste die Formatierungen nicht übernommen werden (siehe Code 1). An anderen Stellen sollen (ähnlich dem Code 2) bei Leerung der Zelle entsprechende Formeln eingefügt werden. Hier hätten wir auch das Problem, da bei Leerung ein Problem auftritt im Code 1 bei ".Undo". Die Fehlermeldung lautet "Laufzeitfehler '1004': Die Methode 'Undo' für das Objekt '_Application' ist fehlgeschlagen.
Hat jemand eine Idee, wie man die beiden Codes parallel laufen lassen kann.
Private Sub Worksheet_Change(ByVal Target As Range)
'CODE 1
Dim Zelle As Range
Dim arrAdressen
Dim arrFormeln
Dim i As Long
ReDim arrAdressen(1 To Target.Cells.Count) As String
ReDim arrFormeln(1 To Target.Cells.Count) As String
For Each Zelle In Target.Cells
i = i + 1
arrAdressen(i) = Zelle.Address
arrFormeln(i) = Zelle.FormulaR1C1
Next
With Application
.EnableEvents = False
.Undo
For i = 1 To UBound(arrAdressen)
Range(arrAdressen(i)).FormulaR1C1 = arrFormeln(i)
Next
.EnableEvents = True
End With
'CODE 2
If Target.Cells(1, 1).Address(0, 0) = "EW56" Then
If IsEmpty(Target.Cells(1, 1)) Then
Application.EnableEvents = False
Target.FormulaLocal = "=$AD$19"
Application.EnableEvents = True
End If
End If
End Sub