Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
288to292
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
288to292
288to292
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Letzte Änderung anzeigen

Letzte Änderung anzeigen
07.08.2003 13:45:32
thomas
Hallo,
ich bräuchte in Excel eine Funktion, die anzeigt, wann die Datei zuletzt geändert (nicht geöffnet) wurde.
thomas

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Änderung anzeigen
07.08.2003 13:54:59
Michael Schirow
Hi Thomas,
filedatetime
HTH, Michael

AW: Letzte Änderung anzeigen
07.08.2003 14:15:13
thomas
Danke,
aber was soll ich damit machen?
Wenn ich das in eine Zelle eingebe (=filedatetime) nimmt er das nicht an.
Außerdem will ich die letzte Änderung der Datei haben in die ich die Funktion eingebe. Auch wenn der Name der Datei geändert werden sollte.
p.s. kenn mich nicht gut in excel aus ;)
thomas

AW: Letzte Änderung anzeigen
07.08.2003 14:34:21
richard
hi thomas,
drück mal alt + f11 und kopiere folgenden teil in das erscheinende codefenster. anschließend f5 drücken.

Sub xxx()
MsgBox FileDateTime("c:\daten\dummy.xls")
End Sub

du mußt natürlich noch den pfad durch den pfad deiner datei einsetzen
mfg richi

Anzeige
AW: Letzte Änderung anzeigen
07.08.2003 14:46:05
thomas
das funktioniert.
aber jetzt gibt er mir das ergebnis in einem fenster aus.
er sollte es aber in einer zelle ausgeben.
und muss man immer den pfad der datei mit angeben?
kann man nicht sagen, das die letzte änderung der datei selber gesucht ist?
trotzdem danke

AW: Letzte Änderung anzeigen
07.08.2003 15:00:55
richard
also erstmal grundsätzlich
ein blick in die olh sagt folgendes
Gibt einen Wert vom Typ Variant (Date) zurück, das den Tag und die Uhrzeit der Erstellung bzw. der letzten Änderung der Datei anzeigt.
Syntax
FileDateTime(Pfadname)
Das erforderliche Argument Pfadname ist ein Zeichenfolgenausdruck, der einen Dateinamen angibt. Pfadname kann ein Verzeichnis oder einen Ordner sowie ein Laufwerk enthalten.
eine pfadbezeichnung ist also nötig.
du kannst aber auch den pfad der aktuellen datei auslesen
deine_datei = thisworkbookpath
wenn du jetzt
worksheets(1).range("a1") = filedatetime(deine_datei)
machst sollte es gehen
ungetestet
mfg richi

Anzeige
AW: Letzte Änderung anzeigen
07.08.2003 15:08:31
richard
sorry
jetzt ist es getestet

Sub test()
Dim deinedatei As String
deinpfad = ThisWorkbook.Path
deinname = ThisWorkbook.Name
deinedatei = deinpfad & "\" & deinname
worksheets("Tabelle1").range("a1").value = (FileDateTime(deinedatei))
End Sub

mfg richi

AW: Letzte Änderung anzeigen
07.08.2003 15:42:51
thomas
super, das ist (fast) genau das was ich suche ;)
danke dir
ist es möglich diese funktion automatisch ausführen zu lassen?
ich habe mal versucht das "Sub" durch "Function" zu ersetzt.
sieht dann so aus:

Function test()
Dim deinedatei As String
deinpfad = ThisWorkbook.Path
deinname = ThisWorkbook.Name
deinedatei = deinpfad & "\" & deinname
Worksheets("Tabelle1").Range("b7").Value = (FileDateTime(deinedatei))
End Function

Als ich jetzt in die Zelle "=Test()" eingegeben habe kam ne Fehlermeldung.
Kann man da irgendwas machen? z.B nen Button oder etwas ähnliches in die excel-tabelle einfügen.
oder geht es auch automatisch?
vielen danke für die bemühungen
ich hoffe ich das ich keine unlösbare aufgabe gestellt habe ;)
thomas

Anzeige
AW: Letzte Änderung anzeigen
07.08.2003 15:47:23
richard
also du kannst die funktion zum beispiel immer beim öffnen der datei ausführen lassen

Sub workbook_open()
Dim deinedatei As String
deinpfad = ThisWorkbook.Path
deinname = ThisWorkbook.Name
deinedatei = deinpfad & "\" & deinname
worksheets("Tabelle1").range("a1").value = (FileDateTime(deinedatei))
End Sub

oder du blendest die symbolleiste steuerelemnte toolbox ein und fügts nen knopf ein. in die entwicklungsumgebung wechseln (kleines grünes dreieck drücken)
dort müßte dann

Sub commndbutton1_click()
stehen
gib einfach dort den code ein. wenn du jetzt den vba explorer schließt und die entwicklungsumgebung wieder verläßt wird der code per knopfdruck ausgeführt
mfg richi

Anzeige
AW: Letzte Änderung anzeigen
07.08.2003 17:01:10
thomas
dank euch beiden für die lösungsvorschläge.
@richi:
die idee is klasse, nur er führt bei mir die funktion nicht beim start aus.
er fragt mich beim starten zuerst ob ich makros aktivieren will.
ich akzeptiere und er hat das datum dann nicht aktualisiert (obwohl ich beim letzten öffnen gespeichert habe).
@michael
auch ein guter vorschlag.
aber datum wird nur aktualisiert wenn man in die zelle reingeht (z.B. mit F2) und wieder raus.
aber ich denke ich werd damit zurechtkommen.
habt ihr auf jeden fall gut weitergeholfen,
vielen dank euch beiden
mfg
thomas

Anzeige
AW: Letzte Änderung anzeigen
07.08.2003 15:58:43
Michael Schirow
Hi, oder probiers so:

Function timestamp()
on error resume next
timestamp = FileDateTime(thisworkbook.path & "\" & thisworkbook.name)
End Function

dann kannst du in jede Zelle die Formel =timestamp() schreiben.
MfG, Michael

23 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige