Excel 2010 - Fusszeile aus Makro und VBA ?

Hallo,
möchte in der Fusszeile Standardwerte speichern und stelle fest, dass die Parameter für z.B. Dateiname, Seite, Blattname bei Makroanwendung und Nutzung unter VBA unterschiedliche Auswirkungen haben.
(Office 2010 unter XP und Windows 7 (64Bit) - identische Auswirkungen)

Zweites Problem: Bei Aufzeichnung eines entspr. Makros wird die Fusszeile ordnungsgemäß gespeichert, beim nachfolgenden Aufruf dieses Makros wird der Inhalt der Zeile geändert/zerstört.

Gibt es irgendwo verlässliche Beschreibungen dafür?

Recherchiere schon geraume Zeit, komme aber nicht weiter.

Dank für Hilfestellung!
Werner

Hallo Werner,

wie sieht denn Dein aufgezeichnetes Makro aus Frage 2 aus? Vielleicht sieht man da schon was…

Und was ist genau unterschiedlich bei den Parametern?

Gruß, Manfred

Hallo Manfred,

Definition
LeftFooter: &[Datei] &[Register]
Copyright-Vermerk

RightFooter: &[Datum]
Seite &[Seite] von &[Seiten]

ergibt korrekte/gewünschte Ausgabe/Speicherung.

Im Makro/unter VBA-Editor wird gespeichert:

.LeftFooter = „&“"-,Fett""&8&F &A" & Chr(10) & „Copyright-Vermerk“
.CenterFooter = „“
.RightFooter = „&8&D“ & Chr(10) & „Seite &amp:stuck_out_tongue_winking_eye: von &N“

Ergebnis siehe hier - http://dk80.de/public/vbabeispiel.pdf

Gruß
Werner

Hallo Werner,

das sieht eigentlich alles gut aus. Wenn ich das gleiche bei mir laufen lasse, passt es - allerdings nur unter Excel 2007 und Vista 64. Das Office 2010 habe ich noch nicht installiert…

Das sähe mir dann in der Tat nach komischer Bitfäule aus. 8o(

Gruß, Manfred

Hallo Werner,

möchte in der Fusszeile Standardwerte speichern und stelle
fest, dass die Parameter für z.B. Dateiname, Seite, Blattname
bei Makroanwendung und Nutzung unter VBA unterschiedliche
Auswirkungen haben.

für mich ist das das Gleiche, was ist für dich der Unterschied zwischen Makroanwendung und Nutzung unter Vba?

Zweites Problem: Bei Aufzeichnung eines entspr. Makros wird
die Fusszeile ordnungsgemäß gespeichert, beim nachfolgenden
Aufruf dieses Makros wird der Inhalt der Zeile
geändert/zerstört.

Ist nicht untypisch, daß aufgezeichnete Makros bei nochmaligem Starten ein anderes Ergebnis liefern. Liegt m.E. an unterschiedlichen Startbedingungen bei der Aufzeichnung und dem nochmaligen Prozedurstart.

Gibt es irgendwo verlässliche Beschreibungen dafür?

Weiß ich nicht, noch ist mir unklar was da vorliegt.

Wenn sowieso Makros in der mappe laufen, brauchste diese Parameter/Argumente für die Kopf/Fußzeilen nicht.

Gruß
Reinhard

Hallo Reinhard,
ich habe eine Vielzahl von Modulen entwickelt, in die ich je nach Anwendung weitere Routinen einfüge. Diese Routinen entnehme ich den aufgezeichneten Makros und füge sie entsprechend ein.

Die Befehlsfolge zur Einrichtung der Fußzeile läuft in anderen Subs schon einige Jahre fehlerfrei unter div. MSO-Versionen. Dieses Problem ist nach dem Umstieg auf Office 2010 entstanden, bisher ohne Lösung.

Die Auswirkungen zeigen sich in bestehenden Arbeitsmappen, aber auch in neu erstellten.
Zum Test habe ich eine neue Mappe erstellt, das Makro aufgezeichnet = Ergebnis OK, sofort anschließend (ohne Close/Open) das Makro aufgerufen = Ergebnis wie aufgeführt / fehlerhaft.

Gibt es in diesem Zusammenhang möglicherweise Unterschiede zwischen VBA6 und VBA7?

Gruß
Werner

Moin Werner,

Die Auswirkungen zeigen sich in bestehenden Arbeitsmappen,
aber auch in neu erstellten.

kleines Glück im Unglück, schlimmer sind sporadische Fehler bei der Fehlersuche.

Zum Test habe ich eine neue Mappe erstellt, das Makro
aufgezeichnet = Ergebnis OK, sofort anschließend (ohne
Close/Open) das Makro aufgerufen = Ergebnis wie aufgeführt /
fehlerhaft.

Lade die Mappe mal hoch mit file-upload o.ä., siehe FAQ:2606

Gibt es in diesem Zusammenhang möglicherweise Unterschiede
zwischen VBA6 und VBA7?

Mein Problem ist, ich habe kein XL2010.

Gruß
Reinhard

Hallo Reinhard,

hier die Datei - http://dk80.de/public/Mappe1test2.xlsm

Gruß
WErner

Hallo Werner,

in XL2007 ist
Application.PrintCommunication
nicht bekannt. Kommentiere ich das aus wird PrintQuality bemeckert.
Kommentiere ich das auch aus, läuft de Code durch.
Auf den ersten Blick sehe ich da keinen Fehler in der Fußzeile.

Baue mal um alles im Code eine
With Worksheets(„Tabelle1“)-SChleife und ersetze „ActiveSheet“ durch Nichts.

Sorry, mehr fällt mir nicht ein.

Gruß
Reinhard

Hallo Reinhard,

… ich glaub es nicht - das war’s!

Der Befehl ‚Application.PrintCommunication…‘ entspricht/soll entsprechen dem ‚Application.ScreenUpdating = …‘ aus früheren VBA-Versionen - funktioniert aber (bei mir) offensichtlich nicht korrekt.

Herzlichen Dank - jetzt geht weiter!

Gruß nach Frankfurt
Werner

Grüezi Werner

Der Befehl ‚Application.PrintCommunication…‘ entspricht/soll
entsprechen dem ‚Application.ScreenUpdating = …‘ aus
früheren VBA-Versionen

…sagt wer genau?

funktioniert aber (bei mir) offensichtlich nicht korrekt.

Das kann dafür auch nicht funktionieren, diese Eigenschaft ist neu in xl2010 und für die Kommunikatin mit dem Drucker zuständig.
Mit dem .ScreenUpdateing hat das nichts zu tun, diese Anweisung hat nach wie vor ihre Gültigkeit (anderes ist auch nicht zu erwarten).

http://msdn.microsoft.com/en-us/library/ff835544.aspx
http://stackoverflow.com/questions/230382/how-to-pri…


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas,
habe so viel zu diesem Thema gegoogelt und Infos gesammelt, dass ich den Verfasser dieser Info nicht mehr nennen kann.

Sei’s drum.
Vielen Dank!
Werner