'entwickelt von Winfried Radner 'e-mail: Wolf.W.Radzinski@onlinehome.de 'Benutzung frei - ohne Gewähr 'folgender Code ist ein Abfallprodukt! Entstanden ist er, weil es 'bei Werteauswahl aus einer Gültigkeitsliste unter Excel 97 Probleme 'mit dem Change Event gibt (dieser wird teilweise nicht erkannt und somit 'der Code nicht ausgeführt). Dieser Code markiert nun die letzte 'vorgenommene Datenänderung (manuell über Tastatur oder durch Auswahl 'aus einer Dropdownliste) in der gesamten Arbeitsmappe. Public t_old1, t_old2 As Range Public old_value As Variant Public old_interior As Variant 'Public last_sheet 'Public last_address Const mark_it_with = vbRed Private Sub Workbook_Open() Set t_old1 = Nothing Set t_old2 = Nothing End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Workbook_SheetSelectionChange Sh, ActiveCell End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range) 'wurde eine Formel oder Funktion eingegeben? On Error GoTo kein_wert If Not t_old1 Is Nothing Then If t_old1.Count = 1 Then If t_old1 <> old_value Then If Not t_old2 Is Nothing Then 'wenn gleich, dann wurde vorletzte 'Änderung erneut geändert/gelöscht If t_old2.Address <> t_old1.Address Then 'wenn andere Zelle ausgewählt UND geändert, 'setze Hintergrund der letzten Änderungszelle zurück 'und merke dir die neue Hintergrundfarbe t_old2.Interior.ColorIndex = old_interior old_interior = t_old1.Interior.ColorIndex End If End If t_old1.Interior.Color = mark_it_with 'wer die letzte Adresse braucht! 'last_sheet = Sh 'last_address = t_old1.Address Set t_old2 = t_old1 End If End If Set t_old1 = Nothing End If 'Set t_old1 = Target 'old_value = Target 'mit Activecell funktioniert es 'auch bei Mehrfachauswahl un zwar 'mit der darin enthaltenen aktiven Zelle Set t_old1 = ActiveCell old_value = ActiveCell Exit Sub kein_wert: Set old_value = Nothing Set t_old1 = Nothing End Sub