Tipps & Tricks
30.12.2004, 16:30 Uhr
Excel: Datum der letzten Änderung in Zelle schreiben
Ich möchte in einer Zelle in meiner Excel-Tabelle das Datum/Zeit der letzten Änderung ausweisen.
Auf der Seite der Fachhochschule Eberswalde [1] findet sich eine ausführliche Beschreibung dazu:
Unter den Dokumenteigenschaften, die Sie im Menü "Datei" mit dem Befehl "Eigenschaften" aufrufen können, lassen sich die wichtigsten Informationen wie der Titel der Arbeitsmappe, der Autor der Mappe sowie Datumsangaben wie das Erstellungsdatum oder das letzte Änderungsdatum einer Arbeitsmappe einsehen. Schön wäre es jetzt, wenn Sie diese Dokumenteigenschaften in einer Zelle anzeigen könnten, was Excel aber leider nicht standardmässig anbietet. Aus diesem Grund können Sie für diese Aufgabenstellung eine kleine benutzerdefinierte Funktion programmieren. Wechseln Sie dazu über die Tastenkombination Alt+F11 in die Entwicklungsumgebung und erfassen das folgende Makro in einem neuen Modul:
Dieses Makro schreibt alle Dokumenteigenschaften der aktiven Arbeitsmappe übersichtlich in eine neue Tabelle. In einer Schleife werden dabei alle Dokumenteigenschaften der Arbeitsmappe durchlaufen, die im Auflistungsobjekt "BuiltinDocumentProperties" verzeichnet sind. Innerhalb der Schleife wird der Name der jeweiligen Dokumenteigenschaft durch die Eigenschaft "Name" ermittelt; den Inhalt der Dokumenteigenschaft erhalten Sie über die Eigenschaft "Value". Die Zählinformation aus der Variablen "i" benötigen Sie, um für die folgende Funktion zu wissen, über welche Nummer Sie die gewünschte Dokumenteigenschaft aufrufen können. Die Methode "AutoFit" sorgt dafür, dass die Spalten A bis C so verbreitert werden, dass alle Inhalte angezeigt werden können.
Erfassen Sie jetzt die benutzerdefinierte Funktion, über die Sie mithilfe einer Variablen die gewünschte Dokumenteigenschaft in eine Zelle einfügen können:
Geben Sie danach in einer Excel-Zelle die Funktion =HoleDE(3) ein, um beispielsweise den Autor der Arbeitsmappe auszugeben. Wenn die Nummer 10 bis 12 der Funktion übergeben werden, handelt es sich um Datums-Dokumenteigenschaften, die noch über die Funktion Format in das richtige Format gebracht werden müssen. In allen Fällen wird der Rückgabewert der Funktion an die Zelle direkt übergeben.
(Zitat Ende)
Zum Herauskopieren:
-----------------------------------
Sub DokumentEigenschaftenAuslesen()
Dim i As Integer
Dim dok As Object
i = 1
Worksheets.Add
For Each dok In ActiveWorkbook.BuiltinDocumentProperties
Cells(i, 1).Value = i
Cells(i, 2).Value = dok.Name
On Error Resume Next
Cells(i, 3).Value = dok.Value
i = i + 1
Next
Columns("A:C").AutoFit
End Sub
-------------------------------
Function HoleDE(dok As Integer)
Application.Volatile
On Error GoTo fehler:
Select Case dok
Case 10, 11, 12
HoleDE = Format(ActiveWorkbook. _
BuiltinDocumentProperties(dok).Value, _
"DD.MM.YYYY hh:mm")
Case Else
HoleDE = ActiveWorkbook. _
BuiltinDocumentProperties(dok).Value
End Select
Exit Function
fehler:
HoleDE = "Dokumenteigenschaft nicht ermittelbar!"
End Function
-----------------------------------------------------
Kommentare
Es sind keine Kommentare vorhanden.