Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
620to624
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
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Taste F9 automatisieren

Taste F9 automatisieren
09.06.2005 16:59:06
Paul
Hallo Leute,
ich habe ein kleines Problem bei dem Ihr mir hoffentlich helfen könnt.
Ich habe ein kleines VB-Makro welches mir das Datum der letzten Speicherung eines Dokumentes ausgibt (hab ich hier aus dem Forum)...dies sieht folgendermaßen aus:

Function savedate()
Application.Volatile
savedate = ActiveWorkbook.BuiltinDocumentProperties(12).Value
End Function

aufgerufen wird es dann in der Excel-Mappe mit "=senddate()".
Das Problem ist, daß das aktuelle Datum quasie erst angezeigt wird, wenn ich Speichere und dann mittels der Taste F9 aktualisiere oder das Dokument nach der Speicherung neu öffne.
Besteht irgendwie die Möglichkeit nach dem Drücken der Speichertaste oder der Tastenkombination STRG+S, also nach dem Speichern des Dokumentes das Drücken der F9 Taste zu automatisieren? Ich möchte also das Datum der letzten Speicherung sofort nach dem Speichern angezeigt haben ohne eine zusätzliche Taste drücken zu müssen.
Ich hoffe Ihr könnt mir eine kleine Hilfestellung geben.
Danke schonmal!
Paul S.

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Taste F9 automatisieren
09.06.2005 17:34:37
Galenzo
so?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Calculate
End Sub

Viel Erfolg!
AW: Taste F9 automatisieren
09.06.2005 19:08:58
Paul
Danke Galenzo für die schnelle Antwort!
Ich hab grad das Problem, daß meine ürsprüngliche Funktion grad garnicht mehr funktioniert. In der Excel-Mappe bekomme ich bei dem Aufruf "=savedate()" nur "#NAME?" zurück und nicht mehr das Datum. Was kann ich da denn jetzt falsch gemacht haben? Ich habe an sich nix verändert...es sind ja auch nur ein paar Zeilen Code!?
Falls ich das Problem noch lösen kann gleich eine Frage noch drangehängt:
Wo füge ich Deinen Code in die Funktion ein? Ich frage, da ich eigentlich wirklich keine Ahnung von VB habe.
Also, wenn du noch eine Antwort für mich hast, wäre ich sehr erfreut darüber.
Danke!
MfG
Paul S.
Anzeige
Bemerkung zum Funktionsaufruf
10.06.2005 09:19:53
Galenzo
die Funktion Savedate mußt du aber auch mit "=Savedate" aufrufen
(und nicht etwa mit "=Senddate" - wie du schreibst)
AW: Bemerkung zum Funktionsaufruf
10.06.2005 09:48:16
Paul
Hi Galenzo,
ja das war ein Verschreiber mit dem "senddate" von mir. Ist der Code so in Ordnung wie ich ihn im vorigen Beispiel gezeigt habe? Er aktualisiert nämlich nicht zum Zeitpunkt der Speicherung!?
p.s.: sorry für die Doppelposts...ich hab wohl zu oft auf Abschicken geklickt, nachdem sich das Forum nicht gerührt hat.
AW: Taste F9 automatisieren
10.06.2005 09:55:31
Galenzo
und wenn du das Datum direkt im Workbook_BeforeSave-Ereignis schreiben läßt? So:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Tabelle1").Range("A1") = BuiltinDocumentProperties(12).Value
End Sub

Viel Erfolg!
Anzeige
AW: Taste F9 automatisieren
10.06.2005 10:12:02
Paul
Tut mir Leid Galenzo aber ich verstehe nicht ganz was du meinst. Das ist ja keine Funktion mehr. Wie soll ich die in der Excel-Mappe aufrufen?
Es funktioniert einfach nicht...ich hab keine Ahnung warum.
AW: Taste F9 automatisieren
10.06.2005 12:17:22
Galenzo
OK - dann von vorn..
Jede Mappe hat sog. "Ereignisse", bei denen bestimmte Prozeduren abgearbeitet werden.
Solche Ereignisse werden z.B. bei Änderung einer Zelle, beim Klicken in der Tabelle, beim Öffnen einer Mappe oder aber auch - und dieses Ereignis werden wir uns hier zunutze machen - beim Speichern.
Das Ereignis, das beim Speichern einer Mappe ausgelöst wird heißt "Workbook_BeforeSave"
Alles, was in der zugehörigen Ereignis-Prozedur steht, wird in diesem Moment abgearbeitet.
Wie findest du diese Prozedur?
Zunächst mit ALT+F11 zum VBA-Editor. Dort siehst du links die einzelnen "Module" deiner Mappe. Es gibt eins für jede Tabellenseite und dann noch eins, das für die ganze Mappe gilt. Das heißt "DieseArbeitsmappe". Da müssen wir hin. Doppelklicke darauf. Rechts kommt jetzt ein leeres weiße Seite. Darüber siehst du 2 Combo-Boxen. n der linken steht momentan noch "(Allgemein)". Klicke dort und wähle "Workbook". Rechts müßte nun "Open" stehen (das wäre die Prozedur, die beim Öffnen der Mappe abgearbeitet wird. Dort wählst du nun statt "Open" das Ereignis "BeforeSave" aus. Es wird ein leeres Prozedurgerüst angelegt. Und dorthinein schreibst du nun deine Anweisung:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Tabelle1").Range("A1") = BuiltinDocumentProperties(12).Value
End Sub

Viel Erfolg!
Anzeige
Aktualisierung nach Bearbeitung
13.06.2005 16:54:07
Paul
Hallo Galenzo,
mit Hilfe deiner exzellenten Erklärung habe ich es nun geschafft...Vielen Dank!!
Aber sag mal gibt es vielleicht auch eine Funktion die die eine Zelle aktualisiert, wenn ich drucken möchte (wie ich die eventuell mögliche Funktion an die Druckauftrag binde weiss ich ja nun). Wenn also ein Benutzer ein Dokument öffnet und darin arbeitet und anschließend sein Werk ausdrucken möchte wäre es prima, wenn das Datum der letzten Änderung (nicht Speicherung!) noch mit drin steht.
Läßt sich so etwas realisieren?
Grüße
Paul S.
AW: Taste F9 automatisieren
13.06.2005 19:08:32
Paul
Hi Galenzo,
ich bins nochmal.
Ich stelle gerade fest, daß der Wert nicht immer richtig aktualisiert wird. Mir scheint es als ob er erst bei jedem zweiten Speichern richtig aktualisiert.
Woran kann das liegen?
Anzeige
AW: Taste F9 automatisieren
09.06.2005 19:30:47
Paul
Also jetzt funktioniert das ürsprüngliche Script....was das Problem war weiss ich aber nicht.
Aber ich bekomme deine Zeilen Code nicht zum laufen. Wenn ich Speichere, dann wird das Datum leider nicht aktualisiert.
Was muß ich machen?
AW: Taste F9 automatisieren
10.06.2005 09:40:22
Paul
Neuer Tag, neues Glück.
Ich hab die paar Zeilen Code jetzt in das Script rein bekommen. Das sieht jetzt so aus:
Private

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Calculate

Function savedate()
Application.Volatile
savedate = ActiveWorkbook.BuiltinDocumentProperties(12).Value
End Function

Allerdings verhält es sich noch nicht ganz wie ich es mir wünsche. Der Wert wird erst aktualisiert, wenn ich nach dem Drücken des Speicherbuttons nochmal einen Wert ändere und dann in eine neue Zelle gehe oder Enter drücke. Kann der Wert nicht gleich aktualisiert werden, wenn ich Speichere?
Anzeige
AW: Taste F9 automatisieren
10.06.2005 09:40:32
Paul
Neuer Tag, neues Glück.
Ich hab die paar Zeilen Code jetzt in das Script rein bekommen. Das sieht jetzt so aus:
Private

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Calculate

Function savedate()
Application.Volatile
savedate = ActiveWorkbook.BuiltinDocumentProperties(12).Value
End Function

Allerdings verhält es sich noch nicht ganz wie ich es mir wünsche. Der Wert wird erst aktualisiert, wenn ich nach dem Drücken des Speicherbuttons nochmal einen Wert ändere und dann in eine neue Zelle gehe oder Enter drücke. Kann der Wert nicht gleich aktualisiert werden, wenn ich Speichere?
Anzeige
AW: Taste F9 automatisieren
10.06.2005 09:40:47
Paul
Neuer Tag, neues Glück.
Ich hab die paar Zeilen Code jetzt in das Script rein bekommen. Das sieht jetzt so aus:
Private

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Calculate

Function savedate()
Application.Volatile
savedate = ActiveWorkbook.BuiltinDocumentProperties(12).Value
End Function

Allerdings verhält es sich noch nicht ganz wie ich es mir wünsche. Der Wert wird erst aktualisiert, wenn ich nach dem Drücken des Speicherbuttons nochmal einen Wert ändere und dann in eine neue Zelle gehe oder Enter drücke. Kann der Wert nicht gleich aktualisiert werden, wenn ich Speichere?
Anzeige
AW: Taste F9 automatisieren
10.06.2005 09:41:35
Paul
Neuer Tag, neues Glück.
Ich hab die paar Zeilen Code jetzt in das Script rein bekommen. Das sieht jetzt so aus:
Private

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Calculate

Function savedate()
Application.Volatile
savedate = ActiveWorkbook.BuiltinDocumentProperties(12).Value
End Function

Allerdings verhält es sich noch nicht ganz wie ich es mir wünsche. Der Wert wird erst aktualisiert, wenn ich nach dem Drücken des Speicherbuttons nochmal einen Wert ändere und dann in eine neue Zelle gehe oder Enter drücke. Kann der Wert nicht gleich aktualisiert werden, wenn ich Speichere?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige