{"id":3043,"date":"2015-01-23T07:22:02","date_gmt":"2015-01-23T05:22:02","guid":{"rendered":"http:\/\/www.ramses.de\/?p=3043"},"modified":"2015-01-23T07:22:02","modified_gmt":"2015-01-23T05:22:02","slug":"faq-excel-speicherdatum-im-seitenkopf","status":"publish","type":"post","link":"https:\/\/www.ramses.de\/?p=3043","title":{"rendered":"FAQ Excel &#8211; Speicherdatum im Seitenkopf"},"content":{"rendered":"<h2><strong>Problem <\/strong><\/h2>\n<p>Wenn Sie eine Excel-Tabelle ausdrucken, sehen Sie auf dem Papier normalerweise nicht, wie aktuell die Daten sind. Dieses Manko beseitigt der im Anschluss vorgestellte Tipp. Damit lassen Sie das Datum, an dem die Arbeitsmappe zum letzten Mal gespeichert worden ist, in der Kopf- oder Fu\u00dfzeile der Seite ausdrucken.<\/p>\n<h2><strong>L\u00f6sung <\/strong><\/h2>\n<p>Wir werden die Ereignisprocedur Workbook_BeforePrint() nutzen, um einen Eintrag in die Text Kopfzeile zu schreiben.<\/p>\n<h3>Die Ereignisprocedur Workbook_BeforePrint<\/h3>\n<p>Starten Sie Excel und \u00f6ffnen Sie die Arbeitsmappe, in der Sie die Druckausgabe des Speicherdatums ben\u00f6tigen.<br \/>\nDr\u00fccken Sie Alt + F11, um in den Visual Basic-Editor zu wechseln.<br \/>\nIm Projekt-Explorer suchen Sie den Namen der aktuellen Datei. Lassen Sie sich, sofern das noch nicht der Fall ist, die untergeordneten Projektzweige anzeigen. \u00d6ffnen Sie dann den Zweig &#8222;Microsoft Excel-Objekte&#8220; und doppelklicken Sie auf den Eintrag &#8222;DieseArbeitsmappe&#8220;.<br \/>\nIm daraufhin angezeigten Codefenster sehen Sie am oberen Rand zwei Dropdown-Listenfelder. Klappen Sie zuerst das linke Listenfeld auf und w\u00e4hlen Sie &#8222;Workbook&#8220; aus. Anschlie\u00dfend aktivieren Sie im rechten Dropdown-Feld den Eintrag &#8222;BeforePrint&#8220;.<br \/>\nIm Codefenster erscheint automatisch ein Prozedurger\u00fcst f\u00fcr das &#8222;BeforePrint&#8220;-Ereignis. Diese Prozedur wird ausgef\u00fchrt, sobald Sie einen Druckauftrag starten und bevor die Daten an den Drucker geschickt werden. Erg\u00e4nzen Sie die Prozedur um Codezeilen, die das letzte Speicherdatum der aktuellen Datei ermitteln und es in diesem Fall in den linken Abschnitt der Kopfzeile setzen:<\/p>\n<pre>Private Sub Workbook_BeforePrint(Cancel As Boolean)\r\nDim booIsSaved As Boolean\r\nDim strDatInfo As String\r\nWith ThisWorkbook\r\nbooIsSaved = .Saved\r\nIf .Path &lt;&gt; \"\" Then\r\nstrDatInfo = .BuiltinDocumentProperties(\"Last save time\")\r\nElse\r\nstrDatInfo = \"noch nicht gespeichert\"\r\nEnd If\r\nActiveSheet.PageSetup.LeftHeader = \"Zuletzt gespeichert: \" &amp; strDatInfo\r\n.Saved = booIsSaved\r\nEnd With\r\nEnd Sub<\/pre>\n<p>Am Anfang der Prozedur merken Sie sich in der Variablen &#8222;booIsSaved&#8220;, ob \u00c4nderungen an der Datei vorgenommen wurden. Und am Ende des Prozedurcodes stellen Sie die &#8222;Saved&#8220;-Eigenschaft wieder auf den alten Wert zur\u00fcck. Damit erreichen Sie, dass Excel beim Schlie\u00dfen der Datei nur zum Speichern auffordert, wenn tats\u00e4chlich \u00c4nderungen an den Tabellendaten vorgenommen wurden. Ansonsten w\u00fcrde die Speicheraufforderung nach jeder Ausf\u00fchrung der &#8222;BeforePrint&#8220;-Prozedur erscheinen, was bei einer Best\u00e4tigung des Speichervorgangs dazu f\u00fchren k\u00f6nnte, dass Speicherdatum und Aktualit\u00e4t der Tabellendaten nichts miteinander zu tun haben.<\/p>\n<p>Mit der If-Abfrage pr\u00fcfen Sie danach, ob die Datei \u00fcberhaupt schon gespeichert worden ist. Das ist nur dann der Fall, wenn die &#8222;Path&#8220;-Eigenschaft einen Wert besitzt. Unter diesen Voraussetzungen k\u00f6nnen Sie das Speicherdatum \u00fcber die eingebaute Dokumenteigenschaft (BuiltinDocumentProperty) &#8222;Last save time&#8220; ermitteln.<\/p>\n<h3>Die Kopf- und Fu\u00dfzeile<\/h3>\n<p>Die Kopf- oder Fu\u00dfzeile \u00e4ndern Sie schlie\u00dflich mit einer Eigenschaft des &#8222;PageSetup&#8220;-Objekts. Hier ist es der linke Kopfzeilenbereich: &#8222;LeftHeader&#8220;. Alternativ k\u00f6nnen Sie die anderen Bereiche mit Inhalten f\u00fcllen:<\/p>\n<p>CenterHeader = mittlerer Abschnitt der Kopfzeile<br \/>\nRightHeader = rechter Abschnitt der Kopfzeile<br \/>\nLeftFooter = linker Abschnitt der Fu\u00dfzeile<br \/>\nCenterFooter = mittlerer Abschnitt der Fu\u00dfzeile<br \/>\nRightFooter = rechter Abschnitt der Fu\u00dfzeile<\/p>\n<p>Wenn Sie mit Excel 97 arbeiten, m\u00fcssen Sie eine zus\u00e4tzliche Ereignisprozedur einf\u00fcgen. Grund daf\u00fcr ist, dass die Dokumenteigenschaft &#8222;Last save time&#8220; nicht automatisch gesetzt wird. Ein Zugriff auf die Eigenschaft w\u00fcrde dann einen Laufzeitfehler ausl\u00f6sen. So m\u00fcssen Sie das Speicherdatum per Programmcode festschreiben.<br \/>\nDas erreichen Sie mit Hilfe der Ereignisprozedur &#8222;BeforeSave&#8220;, die Sie ebenfalls in das Codefenster &#8222;DieseArbeitsmappe&#8220; eingeben:<\/p>\n<p>Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean)<br \/>\nThisWorkbook .BuiltinDocumentProperties(&#8222;Last save time&#8220;) = Now<br \/>\nEnd Sub<\/p>\n<p>Auf diese Weise wird die Dokumenteigenschaft &#8222;Last save time&#8220; bei jedem Speichervorgang auf die aktuelle Zeit eingestellt.<br \/>\nVerlassen Sie am Ende den Visual Basic-Editor per Datei-Schlie\u00dfen und zur\u00fcck zu Microsoft Excel. F\u00fcr Excel 97 gilt: Damit die oben vorgestellte Prozedur keinen Laufzeitfehler verursacht, m\u00fcssen Sie die aktuelle Arbeitsmappe jetzt speichern.<\/p>\n<p>Um zu testen, wie das Speicherdatum in der Kopf-\/Fu\u00dfzeile gedruckt wird, wechseln Sie in die Seitenansicht, indem Sie in der Symbolleiste auf die Schaltfl\u00e4che Seitenansicht klicken oder im Men\u00fc Datei den Befehl Seitenansicht anw\u00e4hlen.<\/p>\n<p>Denken Sie beim Schlie\u00dfen der Arbeitsmappe daran, dass Sie sie dann nat\u00fcrlich nicht nur in Excel 97 sondern auch in Excel 2000\/2002 speichern m\u00fcssen. Nur so bleiben die oben vorgestellten Ereignisprozeduren f\u00fcr zuk\u00fcnftige Druckvorg\u00e4nge erhalten.<\/p>\n<p>Und noch ein Hinweis: Wenn Sie die Arbeitsmappe speichern, nachdem Sie die Seitenansicht aufgerufen oder nachdem Sie die Mappe gedruckt haben, bleibt der Text mit dem Speicherdatum fest in der Kopf-\/Fu\u00dfzeile stehen. Das ist nicht weiter problematisch, solange Sie die &#8222;BeforePrint&#8220;-Prozedur unver\u00e4ndert lassen. Dann wird der Kopf-\/Fu\u00dfzeilenbereich beim n\u00e4chsten Druckvorgang einfach durch das aktuelle Speicherdatum \u00fcberschrieben. Nur wenn Sie den Programmcode \u00e4ndern, damit die Datumsangabe zum Beispiel nicht mehr in der Kopfzeile sondern in der Fu\u00dfzeile steht, m\u00fcssen Sie den alten Bereich manuell mit Hilfe des Befehls Datei-Seite einrichten l\u00f6schen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem Wenn Sie eine Excel-Tabelle ausdrucken, sehen Sie auf dem Papier normalerweise nicht, wie aktuell die Daten sind. Dieses Manko beseitigt der im Anschluss vorgestellte &#8230; <a title=\"FAQ Excel &#8211; Speicherdatum im Seitenkopf\" class=\"read-more\" href=\"https:\/\/www.ramses.de\/?p=3043\" aria-label=\"Mehr Informationen \u00fcber FAQ Excel &#8211; Speicherdatum im Seitenkopf\">Weiterlesen &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59],"tags":[60,61],"class_list":["post-3043","post","type-post","status-publish","format-standard","hentry","category-excel","tag-excel-2010","tag-vba"],"_links":{"self":[{"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/posts\/3043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ramses.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3043"}],"version-history":[{"count":1,"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/posts\/3043\/revisions"}],"predecessor-version":[{"id":3044,"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/posts\/3043\/revisions\/3044"}],"wp:attachment":[{"href":"https:\/\/www.ramses.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ramses.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ramses.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}