Eine Excel-Tabelle enthält die Funktion „=Heute()“ bzw. „=JETZT()“.
Ich möchte, dass das „heutige Datum (z.B. 14.08.2003)“ erhalten bleibt, wenn die Tabelle mit Inhalt gespeichet wird.
Will sagen, wenn die befüllte Tabelle zu einem späteren Zeitpunkt aufgerufen wird, soll das damalige Datum (14.08.) beim Aufruf nicht (funktionsgetreu) aktualisiert werden!
Wurde / wird die Tabelle aber ohne Inhalt gespeichert, soll muss beim Aufruf das aktuelle Datum erscheinen (usw.)
Vielen Dank im voraus, Gruß Carlo
Hallo Carlo,
ich würde so vorgehen, dass ich das gesamte Tabellenblatt in einem ersten Schritt kopieren würde (rechtsklick auf den Reiter „Tabelle1“, verschieben/kopieren, Häkchen rein bei "Kopie erstellen).
Dann im „orginal“ Tabellenblatt alles markieren, kopieren.
Dann in der Kopie alles markieren, und über Bearbeiten Inhalte einfügen „Werte“ auswählen. Um spätere Verwechslungen zu vermeiden würde ich noch das Tabellenblatt in 14.08. umbenennen.
Das 14.08. Tabellenblatt würde sich nie mehr aktualisieren, das orginal schon.
Vielleicht geht es noch einfacher, aber das wäre mein Ansatz.
Andreas
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Carlo,
ein anderer Ansatz ohne Formel:
Jedesmal, wenn die Tabelle verändert bzw befüllt wurde, soll der bearbeiter einfach in der Datumszelle STRG + . drücken, damit erscheint das aktuelle Datum - aber NICHT als Formel, wird daher auch nicht mehr aktualisiert. Und wenn nix gemacht wurde, dann lass einfach deine Datumsformel stehen.
Freundliche Grüße,
Jerry
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Zunächst Euch beiden vielen Dank.
Blatt umbennen entfällt wegen Hyperlinks auf die Tabelle.
„Strg + .“ habe ich als Ansatz genommen.
Der ursprünglichen Datei habe ich einen Schreibschutz verpasst.
Die in Bearbeitung befindliche Datei kann per Makro gespeichet werden.
Problem: die Funktion Strg + . funktioniert als Makro; aber nur für sich alleine. Nicht aber, wenn ich sie dem „Speichern-Makro“ voransetze. Ich habe da einiges erfolglos probiert.
Zuletzt auch mit Call (siehe Anlage). Klappt nicht.
Hier das Skript, das ich einer Schaltfläche zugewiesen habe:
Sub Schaltfläche89_BeiKlick()
’ Datum setzen
Range(„O9“).Select
SendKeys ("^.")
’ jetzt abspeichern
Call Speichern
End Sub
Sub Speichern()
ChDir „“
ChDrive „c:“
'Das Dialogfenster, „test.xls“ als Vorgabedatei
Dateiname = Application.GetSaveAsFilename _
(„Name des Kunden.xls“, „Micrsoft Excel-Dateien (*.xls),*.xls“)
If Dateiname = False Then Exit Sub
MsgBox „Ihre Auswahl:“ & vbNewLine & Dateiname
End Sub
Das Dialogfenster zum Speichern geht auf, das Datum wird aber nicht geändert.
Wie gesagt, lege ich nur
>>>Range(„O9“).Select
>>>SendKeys ("^.")
hinter die Schaltfläche, wird das Datum gesetzt.
Hat einer ne Idee?
Vielen Dank im voraus, Gruss Carlo
geht ganz ohne Makro
Hallo Carlo,
wieso so kompliziert? Ich würde das ganz ohne Makro lösen:
Sagen wir mal, die Zelle mit dem maßgeblichem Datum, an dem der Bearbeiter sieht, wann das File das letzte Mal bearbeitet wurde, ist in A1.
Dann würde ich in 2 Hilfszellen folgendes eingeben:
in A2: =heute()
in A3: STRG + . (wenn nötig, sprich das Dokument geändert wurde)
und in A1 würde ich eintragen:
=wenn(A3="";A2;A3)
Sprich: Wenn die Excel-Datei geändert wurde, trägt der Bearbeiter das aktuelle Datum mit STRG + . ein, das in A1 übernommen wird und somit auch beim nächsten Öffnen als Datum der letzten Änderung angezeigt wird. Wird in A3 nichts eingetragen, wird beim nächsten Öffnen automatisch das heutige Datum angezeigt. Das wäre mein Vorschlag.
Freundliche Grüße,
Jerry
Hallo Jerry,
ich werde das wohl, wie vorgeschlagen, realisieren.
Stellte sich abschließen noch die Frage, warum Strg+ . als „Einzel-Makro“ funktioniert, nicht aber, wenn weitere Befehle folgen.
Vielen Dank für die freundliche Unterstützung,
mach Dein Glück
Zunächst Euch beiden vielen Dank.
Blatt umbennen entfällt wegen Hyperlinks auf die Tabelle.
Hallo, hast vielleicht mißverstanden. Es wäre ein zusätzliches Tabellenblatt. OK, die Datei wird dann irgendwann ganz schön groß…
Andreas