Forum Discussion

xNiten's avatar
xNiten
Copper Contributor
Dec 26, 2023

Zeitstempel und Bearbeitsungsschutz in einer Spalte

Ich möchte in einer Tabelle eine Spalte (B) implementieren, die bei Bearbeitung einer spezifischen anderen Spalte (A) einen Zeitstempel setzt und diesen nicht mehr überschreibt. Diese Zeitstempel sollen schreibgeschützt sein, so dass sie ohne Passwort nicht mehr bearbeitet werden können. Jemand eine Idee wie das (möglichst simpel) umsetzbar ist

1 Reply

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    xNiten 

    In Excel können Sie eine einfache Möglichkeit verwenden, um Zeitstempel und Bearbeitungsschutz für eine bestimmte Spalte zu implementieren. Sie können dazu die Excel-Funktion "Wenn"-Bedingung und die "TODAY"-Funktion verwenden. Beachten Sie, dass dieser Ansatz keine hochsichere Methode ist, da Excel-Passwörter leicht umgangen werden können. Hier ist eine mögliche Vorgehensweise:

    Angenommen, Sie haben in Spalte A (zum Beispiel ab Zeile 2) die Daten, und in Spalte B möchten Sie den Zeitstempel setzen. Sie können folgende Schritte befolgen:

    1. Klicken Sie auf die Zelle in Spalte B, in der Sie den Zeitstempel setzen möchten.
    2. Geben Sie die folgende Formel ein:

    =IF(A2<>"", IF(B2="", NOW(), B2), "")

    Diese Formel überprüft, ob die Zelle in Spalte A nicht leer ist. Wenn dies der Fall ist und die Zelle in Spalte B noch nicht ausgefüllt ist, setzt sie den aktuellen Zeitstempel. Andernfalls bleibt die Zelle in Spalte B leer.

    1. Drücken Sie Enter.
    2. Ziehen Sie die Zellen in Spalte B nach unten, um die Formel auf alle relevanten Zellen anzuwenden.

    Um die Schreibgeschützte-Zelle zu erstellen, gehen Sie wie folgt vor:

    1. Wählen Sie die Zellen in Spalte B aus, in denen sich die Zeitstempel befinden.
    2. Klicken Sie mit der rechten Maustaste auf die ausgewählten Zellen und wählen Sie "Zellen formatieren".
    3. Wechseln Sie zum Tab "Schutz" und aktivieren Sie das Kontrollkästchen "Gesperrt".
    4. Klicken Sie auf "OK".
    5. Gehen Sie zu "Überprüfen" (im Menüband) -> "Blatt schützen". Setzen Sie ein Passwort, wenn Sie dazu aufgefordert werden, und bestätigen Sie, dass nur die Zellen bearbeitet werden können, die nicht gesperrt sind.

    Beachten Sie, dass dies nur eine grundlegende Sicherheitsmaßnahme ist. Wenn Sie eine sicherere Lösung benötigen, sollten Sie Excel-Makros (VBA) in Erwägung ziehen………….

    Um eine Lösung in VBA (Visual Basic for Applications) zu implementieren, benötigen Sie einen sogenannten "Worksheet Change Event", der ausgelöst wird, wenn sich etwas in der Tabelle ändert. Hier ist ein Beispiel für VBA-Code, den Sie in den VBA-Editor von Excel einfügen können:

    1. Drücken Sie ALT + F11, um den VBA-Editor zu öffnen.
    2. Fügen Sie einen neuen Modul ein, indem Sie mit der rechten Maustaste auf "VBAProjekt (IhrArbeitsblattName)" klicken und dann "Einfügen" -> "Modul" auswählen.
    3. Kopieren und fügen Sie den folgenden Code in das Modul ein:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rng As Range
        Dim cell As Range
    
        ' Überprüfen Sie, ob die geänderte Zelle in Spalte A liegt
        If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
            Application.EnableEvents = False
    
            ' Überprüfen Sie jede geänderte Zelle in Spalte A
            For Each cell In Target
                ' Überprüfen Sie, ob die entsprechende Zelle in Spalte B leer ist
                If Me.Cells(cell.Row, "B").Value = "" Then
                    ' Setzen Sie den Zeitstempel in Spalte B
                    Me.Cells(cell.Row, "B").Value = Now
                    ' Sperren Sie die Zelle in Spalte B
                    Me.Cells(cell.Row, "B").Locked = True
                End If
            Next cell
    
            Application.EnableEvents = True
        End If
    End Sub

     4. Schließen Sie den VBA-Editor.

    Jetzt wird jedes Mal, wenn sich etwas in Spalte A ändert, der Zeitstempel in der entsprechenden Zelle in Spalte B gesetzt, und die Zelle wird gesperrt.

    Beachten Sie, dass diese Lösung zwar sicherer ist als die reine Formellösung, aber nicht absolut sicher ist. Benutzer mit VBA-Kenntnissen können den Schutz möglicherweise umgehen. Wenn absolute Sicherheit erforderlich ist, sollten Sie in Betracht ziehen, spezielle Datenbanklösungen (Microsoft Access,  MySQL , Oracle Database, etc.) zu verwenden. Zur Unterstützung des Textes wurde teilweise KI eingesetzt.

     

    Meine Antworten sind freiwillig und ohne Gewähr!

     

    Ich hoffe, das wird Ihnen weiterhelfen.

    War die Antwort nützlich? Markieren Sie diese als beste Antwort und klicken Sie auf like.

    Dies wird allen Forumsteilnehmern helfen.

Resources