Excel - Speicher-datum in Kopfzeile?

VBA - (Microsoft Excel, Makro)

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Also bei mir funktioniert Dein Code einwandfrei.
Was genau "funktioniert" denn bei Dir nicht.
Welcher Fehler? An welcher Stelle? Welches Ergebnis?
Je mehr Info desto besser.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

ernkie 
Fragesteller
 21.10.2017, 09:21

Ziel ist es, das Speicherdatum in der rechten Zelle der Kopfzeile anzuzeigen.

Und jetzt wird trotz dem Code nichts angezeigt.

Muss ich in der betreffenden Zelle allenfalls einen Befehl eingeben? Stehe im Moment auf dem Schlauch

Arbeite übrigens mit W10 und O16 ohne aktivierten Blattschutz

Danke für Ideen

0
ernkie 
Fragesteller
 22.10.2017, 10:35
@ernkie

Habe den Kommentar an Hannes geschickt. Aber ich glaube, Für einen neuen Tipp ist dieser Weg ist.

Habe das ganze in einer neuen Arbeitsmappe  - ohne bestehende Makros etc. versucht. (nach Deinem letzten Beitrag) Siehe Grafik

https://transferxl.com/08yQQMMFWQfQv

Leider ohne Erfolg. Noch eine Idee?

0
Oubyi, UserMod Light  22.10.2017, 13:12
@ernkie

Ich habe das Makro aus der Frage kopiert und als "normales Makro", als mit
Sub Test
...
End Sub
laufen lassen und sehe dann, wenn ich auf Ansicht/ Seitenlayout gehe die erwartete Kopfzeile.
Mach das auch mal so. Klappt das?

0
Oubyi, UserMod Light  22.10.2017, 17:33
@ernkie

Für den Test musst Du die Zeile:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

löschen oder auskommentieren.
Dann klapp der Test in Deiner Beispieldatei bei mir schon mal.

Und auch, wenn das Blatt ausdrucke, wird vorher die richtige Kopfzeile eingefügt, wie gewollt.

Also: Bei mir klappt in der von Dir geposteten Datei alles.

0
ernkie 
Fragesteller
 23.10.2017, 12:24
@Oubyi, UserMod Light

Vielen Dank für Deine Geduld. Stand ist - Der Code funktioniert auch bei mir. (Wieso - weiss ich nicht, habe nichts verändert, nur Drucker neu installiert) 

Aber nicht in Formular, wo ich schon einige andere Makros (alle funktionieren) habe.

Werde dies aber sicher noch zum Laufen bringen. 

0

Wäre es nicht einfacher, im BeforeSave-Ereignis den Zeitstempel irgendwo in ein Tabellenblatt zu schreiben und beim Druckereignis auf diese Zelle zuzugreifen?

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    ActiveSheet.PageSetup.LeftHeader = Sheets(1).Range("F1").Value
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Range("F1").Value = Date End Sub

Hi,

Ist die Sub als Ereignisprozedur an das Workbook gekoppelt? 

Auf dem Screenshot kann man es nicht genau erkennen, aber Modul1 ist grau unterlegt. Vielleicht liegt die Sub ja einfach an der falschen Stelle und wird überhaut nicht angestoßen. Setz doch mal einen Stop und prüfe, ob der Code ausgeführt wird.

Viel Erfolg

Hannes

p.s. den Code habe ich nicht überprüft, aber wenn Oubyi sagt, er läuft, dann läuft er ;-)


Oubyi, UserMod Light  21.10.2017, 14:19
DH!

Du hast recht, "Modul1" scheint aktiv, und DA kann ein Ereignismakro nicht laufen.

@ernkie: Der Code gehört in das Modul der Arbeitsmappe (Rechtsklick auf "Diese Arbeitsmappe" --> Code anzeigen)

0
Hannes62a  22.10.2017, 11:28
@ernkie

Bei mir funktioniert es einwandfrei. Hast Du die Datei als .XLSM, also mit Makros, gespeichert und wird das Makro ausgeführt? Hast Du mal eine Haltepunkt gesetzt um zu sehen, ob der erreicht wird?

1