ucdsr2019
Goto Top

Excel - die zuletzt bearbeitete-geänderte Zelle farblich markieren

nrrot
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

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
nrgelb

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

142970
142970 16.02.2020 aktualisiert um 11:31:17 Uhr
Goto Top
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
mayho33
mayho33 16.02.2020 um 23:39:18 Uhr
Goto Top
Hi!

Nutze doch den Macro-Recorder! Er baut dir das zwar nicht gleich so ein, der Effekt ist aber, dass du im aufgezeichneten Macro siehst wie es geht.

Ist dann auch bei anderen Anforderungen hilfreich.

Grüße!
ucdsr2019
ucdsr2019 17.02.2020 um 09:00:00 Uhr
Goto Top
oh wie schön! vielen, vielen, vielen Dank!!!!!!