Ah ok,
wenn ich das allerdings so schreibe
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Sh.Name = "Rechnung" Or Sh.Name = "Ergebniss" Then Exit Sub
Application.EnableEvents = False
' Im Tabellenblatt wurde eine Berechnung durchgeführt
Dim i As Double, zeile As Double
zeile = 0
' Übereinstimmung wird geprüft (hat sich was in den M-Zellen geändert?)
For i = 0 To UBound(arrG)
zeile = i + 1
' Wenn gespeicherter Wert ungleich aktueller Wert in M, dann ...
If arrG(i) <> Sh.Cells(zeile, 13) Then
' ...: wenn Zelle J = alter Wert M, dann
If Sh.Cells(zeile, 10) = arrG(i) Then
' Wertzuweisung J-Zelle und neuer Wert, ...
arrG(i) = Sh.Cells(zeile, 13)
Sh.Cells(zeile, 10) = Sh.Cells(zeile, 13)
Else
' ...sonst nur M-Zelle in Array
arrG(i) = Sh.Cells(zeile, 13)
End If
End If
Next
Application.EnableEvents = True
End Sub
Ensteht in Zeile 19 "arrG(i) = Sh.Cells(zeile, 13)" der Laufzeitfehler: "Typen unverträglich". Habe ich beim hin und her kopieren wieder etwas vergessen?
|