Username und Datum in Excel speichern
Schritt-für-Schritt-Anleitung
-
Öffne die Excel-Datei, in der Du den Benutzernamen und das Datum speichern möchtest.
-
Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Doppelklicke auf "DieseArbeitsmappe" im Projektfenster.
-
Füge den folgenden Code ein:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Sheets("UserBlatt")
.Rows(1).Insert
.Cells(1, 1) = Application.UserName ' Speichert den Benutzernamen in A1
.Cells(1, 2) = Date ' Speichert das aktuelle Datum in B1
End With
End Sub
-
Schließe den VBA-Editor und speichere die Datei als Makro-fähige Arbeitsmappe (.xlsm
).
-
Teste die Funktion, indem Du die Datei speicherst. Du solltest nun den Benutzernamen in A1
und das Datum in B1
im Blatt "UserBlatt" sehen.
Häufige Fehler und Lösungen
-
Fehler: Der Benutzername wird nicht korrekt angezeigt.
- Lösung: Stelle sicher, dass Du
Application.UserName
korrekt in den Code eingefügt hast. Dies gibt den Namen des aktuellen Benutzers zurück.
-
Fehler: Das Datum wird nicht gespeichert.
- Lösung: Überprüfe, ob Du das Datum korrekt mit
Date
im Code abgerufen hast.
-
Fehler: Das Makro wird nicht ausgeführt.
- Lösung: Stelle sicher, dass Makros in Deinen Excel-Einstellungen aktiviert sind.
Alternative Methoden
Wenn Du den Benutzernamen des PCs statt Application.UserName
speichern möchtest, kannst Du den folgenden Code verwenden:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Sheets("UserBlatt")
.Rows(1).Insert
.Cells(1, 1) = Environ("USERNAME") ' Speichert den PC-Benutzernamen in A1
.Cells(1, 2) = Date ' Speichert das aktuelle Datum in B1
End With
End Sub
Diese Methode verwendet die Umgebungsvariable USERNAME
, um den aktuellen PC-Benutzernamen abzurufen.
Praktische Beispiele
Angenommen, Du möchtest ein Protokoll führen, wer an einer Datei gearbeitet hat. Verwende dazu den oben beschriebenen Code und pass ihn an, um zusätzliche Informationen wie die Arbeitsmappe oder den Dateinamen zu speichern.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Sheets("UserBlatt")
.Rows(1).Insert
.Cells(1, 1) = Application.UserName
.Cells(1, 2) = Date
.Cells(1, 3) = ThisWorkbook.Name ' Speichert den Dateinamen in C1
End With
End Sub
Tipps für Profis
- Verwende Formatierungen: Du kannst die Zellen formatieren, um das Datum in einem bestimmten Format anzuzeigen.
- Erweiterte Informationen: Füge weitere Zeilen hinzu, um mehr Informationen über die Datei oder den Benutzer zu speichern.
- Automatisierung: Setze ein weiteres Makro auf, das alte Einträge löscht, um Platz für neue zu schaffen.
FAQ: Häufige Fragen
1. Wie kann ich den Code anpassen, um mehr Informationen zu speichern?
Du kannst weitere .Cells
-Zeilen hinzufügen, um zusätzliche Informationen wie die Arbeitsmappe oder andere Variablen zu speichern.
2. Was mache ich, wenn ich den Benutzernamen nicht finde?
Überprüfe, ob Du Application.UserName
oder Environ("USERNAME")
richtig eingegeben hast und dass Du die Datei als Makro-fähig gespeichert hast.
3. Funktioniert das auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Makros. Diese Funktion ist nur in der Desktop-Version von Excel verfügbar.