Datum auslesen in Excel mit VBA
Schritt-für-Schritt-Anleitung
Um das Speicherdatum einer Excel-Datei mit VBA auszulesen und in einer MsgBox anzuzeigen, kannst Du die folgenden Schritte befolgen:
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.
-
Füge den folgenden VBA-Code ein:
Sub checkDate()
Dim strFile As String
Dim objFSO As Object, objF As Object
Dim saveDate As Date
strFile = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx; *.xlsm), *.xls; *.xlsx; *.xlsm")
If strFile = "Falsch" Then Exit Sub
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objF = objFSO.GetFile(strFile)
saveDate = objF.DateLastModified
MsgBox "Die Datei > " & strFile & " < wurde zuletzt am " & Format(saveDate, "dd.MM.yyyy") & " gespeichert"
Set objF = Nothing
Set objFSO = Nothing
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus, um das Speicherdatum der ausgewählten Datei anzuzeigen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine andere Möglichkeit, das Speicherdatum einer Datei zu ermitteln, ist die Verwendung der Funktion FileDateTime. Du kannst den folgenden Code verwenden:
Dim speicherdatum As String
speicherdatum = FileDateTime("C:\Ordner\DeineDatei.xls")
MsgBox "Das Speicherdatum ist: " & speicherdatum
Diese Methode ist einfacher, wenn Du nur das Speicherdatum ohne zusätzliche Logik benötigst.
Praktische Beispiele
Hier sind zwei praktische Beispiele für die Verwendung des Speicherdatums:
-
Einfacher Code zur Anzeige des Speicherdatums:
MsgBox "Das Speicherdatum ist: " & FileDateTime("C:\Ordner\DeineDatei.xls")
-
Code zur farblichen Darstellung des Datums:
If DateValue(FileDateTime("C:\Ordner\DeineDatei.xls")) <> Date Then
Range("A1").Font.ColorIndex = 3 'rot
Else
Range("A1").Font.ColorIndex = 0 'schwarz
End If
Tipps für Profis
- Nutze die
Scripting.FileSystemObject-Klasse, um erweiterte Dateiinformationen zu erhalten, wie z.B. Erstellungsdatum oder Zugriffsdatum.
- Füge Fehlerbehandlungsroutinen hinzu, um die Robustheit Deines Codes zu erhöhen.
- Speichere Deine Makros in einer Datei mit der Endung
.xlsm, um sicherzustellen, dass der VBA-Code erhalten bleibt.
FAQ: Häufige Fragen
1. Kann ich das Erstellungsdatum anstelle des Speicherdatums abrufen?
Ja, Du kannst die CreationDate-Eigenschaft des FileSystemObject verwenden, um das Erstellungsdatum zu erhalten.
2. Ist es möglich, das Datum in einem bestimmten Format anzuzeigen?
Ja, Du kannst die Format-Funktion in VBA verwenden, um das Datum in Deinem gewünschten Format darzustellen, z.B. Format(saveDate, "dd.MM.yyyy").
3. Funktioniert das auch in Excel 365?
Ja, der bereitgestellte VBA-Code funktioniert in Excel 365 sowie in anderen Versionen von Excel, die VBA unterstützen.