Letzter Benutzer der Datei speichern in Excel
Schritt-für-Schritt-Anleitung
Um den letzten Benutzer der Datei in Excel zu speichern, kannst du den folgenden VBA-Code verwenden. Dieser Code fügt den Benutzernamen, das Datum und die Uhrzeit in ein separates Arbeitsblatt namens "Protokoll" ein.
- Öffne deine Excel-Datei und drücke
ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
- Suche im Projekt-Explorer nach "Diese Arbeitsmappe".
- Füge den folgenden Code in das Fenster "Diese Arbeitsmappe" ein:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Sheets("Protokoll")
.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = Environ("Username")
.Cells(.Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).Value = Date
.Cells(.Cells(Rows.Count, 3).End(xlUp).Row + 1, 3).Value = Time
End With
End Sub
- Schließe den VBA-Editor und speichere die Datei als Excel-Arbeitsmappe mit Makros (*.xlsm).
- Teste den Code, indem du die Datei speicherst. Du solltest nun den letzten Bearbeiter in der Zelle angezeigt bekommen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um den letzten Benutzer anzuzeigen, ist die Verwendung von Zellverweisen. Du kannst den Namen des letzten Benutzers auch direkt in eine bestimmte Zelle schreiben, anstatt in einem Protokollblatt. Hier ein Beispiel:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("DeinBlatt").Range("A1").Value = Environ("Username")
End Sub
Praktische Beispiele
Wenn du den letzten Bearbeiter in einer Zelle anzeigen möchtest, kannst du den folgenden Code verwenden, um den Namen und die Zeit in Zelle A1 anzuzeigen:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("DeinBlatt").Range("A1").Value = "Letzter Bearbeiter: " & Environ("Username") & " am " & Now
End Sub
Tipps für Profis
- Sichtbarkeit der Protokolldaten steuern: Um die Sichtbarkeit des Protokolls zu steuern, kannst du den folgenden Code verwenden, um das Protokollblatt nur bestimmten Benutzern anzuzeigen:
Private Sub Workbook_Open()
If Environ("Username") <> "Dein Name" Then
Sheets("Protokoll").Visible = xlVeryHidden
Else
Sheets("Protokoll").Visible = True
End If
End Sub
- Zusätzliche Sicherheit: Um die Daten vor versehentlichem Löschen zu schützen, kannst du die Zellen sperren, die die letzten Benutzerinformationen enthalten.
FAQ: Häufige Fragen
1. Wie kann ich den letzten Bearbeiter in einer Zelle anzeigen?
Du kannst den VBA-Code anpassen, um den Namen des letzten Bearbeiters in eine spezifische Zelle zu schreiben, wie im Abschnitt "Praktische Beispiele" gezeigt.
2. Kann ich auch sehen, wer die Datei zuletzt gespeichert hat?
Ja, der VBA-Code speichert den Benutzernamen, das Datum und die Uhrzeit jedes Mal, wenn die Datei gespeichert wird. Du kannst diese Informationen nutzen, um zu sehen, wer zuletzt gespeichert hat.
3. Was passiert, wenn mehrere Benutzer gleichzeitig an der Datei arbeiten?
In diesem Fall wird nur der Benutzer, der die Datei zuletzt speichert, in das Protokoll eingetragen. Es gibt jedoch keine Möglichkeit, die Änderungen der anderen Benutzer zu erfassen, es sei denn, sie speichern die Datei.