Excel - die zuletzt bearbeitete-geänderte Zelle farblich markieren
Hallo,
ich habe eine Tabelle die Nummern per Schaltfläche generiert und die Uhrzeit/Datum und den Bearbeiter ausgibt. Nun möchte cih noch, dass die zuletzt geänderte Zelle(im Screen die lila markierte Stelle) sich sich die Hintergrundfarbe in gelb ändert - siehe screen - hier habe ich es m,manuell gemacht.
ich habe dies mit "Bedingter Formatierung" versucht und einen code bekommen, leider bis her ohne Erfolg.
dieser Code funktioniert leider nicht - bzw. weiß ich nicht so recht, wo und wie ich diesen einbinden soll?!
Kann mir jemand dabei helfen?
Vielen Dank vorab
plus "Bedingter Formatierung"
hier der Code für die Eintragung Uhrzeit, Datum und Bearbeiter:
hier für die Schaltflächen:
ich habe eine Tabelle die Nummern per Schaltfläche generiert und die Uhrzeit/Datum und den Bearbeiter ausgibt. Nun möchte cih noch, dass die zuletzt geänderte Zelle(im Screen die lila markierte Stelle) sich sich die Hintergrundfarbe in gelb ändert - siehe screen - hier habe ich es m,manuell gemacht.
ich habe dies mit "Bedingter Formatierung" versucht und einen code bekommen, leider bis her ohne Erfolg.
dieser Code funktioniert leider nicht - bzw. weiß ich nicht so recht, wo und wie ich diesen einbinden soll?!
Kann mir jemand dabei helfen?
Vielen Dank vorab
Application.EnableEvents = false
Range("A1").value = Target.row
Range("A2").value = Target.column
Application.EnableEvents = true
plus "Bedingter Formatierung"
=Und(Zeile()=$A$1;Spalte()=$A$2)
hier der Code für die Eintragung Uhrzeit, Datum und Bearbeiter:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim z
On Error GoTo Fehler
If Not Intersect(Range("D:D"), Target) Is Nothing Then
If Target.Row = 1 Then Exit Sub
For Each z In Target
If z.Offset(0, -1) <> "" Then
Application.EnableEvents = False
z.Offset(0, 2) = Format(Date + Time, "HH:MM:SS" + ", " + "DD.MM.YYYY")
z.Offset(0, 3) = Environ("Username")
End If
Next
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
hier für die Schaltflächen:
Option Explicit
Sub prcButton_Plus()
'Hochzählen
Dim Zeile As Long
Zeile = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
Call ZaehlenHochRunter(Zeile, bolPlus:=True)
End Sub
Sub prcButton_Minus()
'Runterzählen
Dim Zeile As Long
Zeile = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
Call ZaehlenHochRunter(Zeile, bolPlus:=False)
End Sub
Sub ZaehlenHochRunter(ByVal Zeile, bolPlus As Boolean, _
Optional Spalte As Long = 4)
Dim nummer As Long
With ActiveSheet
With .Cells(Zeile, Spalte)
'.Select 'diese Zeile muss nicht sein, es sei den der Cursor soll dort stehen.
nummer = .Value
nummer = nummer + IIf(bolPlus, 1, -1)
If nummer Mod 100 = 0 Then nummer = nummer + IIf(bolPlus, 1, -1)
.Value = nummer
End With
End With
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 547940
Url: https://administrator.de/forum/excel-die-zuletzt-bearbeitete-geaenderte-zelle-farblich-markieren-547940.html
Ausgedruckt am: 23.12.2024 um 20:12 Uhr
3 Kommentare
Neuester Kommentar
Interior.Color ist dein Freund...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Range, rng As Range
On Error GoTo Fehler
Set rng = Range("D:D")
If Not Intersect(rng, Target) Is Nothing Then
rng.Interior.ColorIndex = xlNone
If Target.Row = 1 Then Exit Sub
For Each z In Target
If z.Offset(0, -1) <> "" Then
Application.EnableEvents = False
z.Offset(0, 2) = Format(Date + Time, "HH:MM:SS" + ", " + "DD.MM.YYYY")
z.Offset(0, 3) = Environ("Username")
z.Interior.Color = vbYellow
End If
Next
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub