Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1648to1652
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
Inhaltsverzeichnis

PERSONAL Makro für Header/Footer

PERSONAL Makro für Header/Footer
13.10.2018 18:09:39
Manuel
Hi an alle,
Ich habe eine PERSONAL.xlsb Arbeitsmappe erstellt und diese auch im „Startup“ Ordner in Excel hinterlegt.
Meine PERSONAL enthält ein Makro mit foldender Funktion:
Wenn ich eine bereits erstellte Excel-Arbeitsmappe öffne, wird automatisch ein Header und Footer eingefügt.
Das Makro ist unter folgendem Link zu finden: https://www.herber.de/bbs/user/124600.txt
Das Makro funktioniert soweit auch gut (dank eurer Hilfe hier im Forum). Jedoch habe ich folgendes Problem: Wenn eine Arbeitsmappe beretis einen Header/Footer besitzt und ich diese nun öffne, erscheint eine Fehlermeldung und mein eigener Header/Footer wird in die Arbeitsmappe nicht übernommen.
Daher würde ich gerne das Makro mit folgenden Funktionen erweitern/verändern:
- Es soll automatisch erkannt werden, wenn eine Arbeitsmappe bereits einen Header/Footer besitzt und es soll keine Fehlermeldung mehr erscheinen.
- Vor dem Drucken der Arbeitmappe soll ein Fenster erscheinen, indem ich auswählen kann mit welchem Header/Footer ich das Dokument drucken möchte.
Durcken mit bestehenden Header/Footer (falls vorhanden), drucken mit meinem erstellten Standard Header/Footer, drucken ohne Header/Footer.
Da meine VBA Fähigkeiten begrenzt sind, hoffe ich auf eure Hilfe und Tipps.
Gruß
Manuel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PERSONAL Makro für Header/Footer
14.10.2018 16:41:48
fcs
Hallo Manuel,
ich hab deoin Makro jetztnicht direkt zum Laufen bekommen.
Eine Anpassung in die gewünschte Richtung ist auch relativ kompliziert.
Ich hab es jetzt mal versucht.
In der hochgeladenen Datei findest du die Module und Makros, sowie eine Anleitung, wie due es in deine PESONAL.xlsb übernehmen muss.
Mache vorher eine Sicherungskopie von deiner PERSONAL.xlsb.
Dann entferne deine Codes mit denen du das automatische ANlegen der Kopf-Fusszeilen und die Anpassung des Seitenlayouts steuerst, damit es keine überschneidungen zwischen den Varianten gibt.
Wenn alles sauber übernommen ist, dann Excel neu starten.
Excel reagiert dann auf das Öffnen von Dateien und Drucken. Es wird dann immer ein Userform angezeigt in dem du in einer Listbox den weiteren Ablauf bezüglich Kopf-/Fusszeilen wählen kannst.
https://www.herber.de/bbs/user/124607.xlsm
LG
Franz
Anzeige
AW: PERSONAL Makro für Header/Footer
14.10.2018 18:45:01
Manuel
Hallo Franz,
ich danke dir sehr für deine Mühe.
Ich werde es gleich morgen ausprobieren.
Gruß
Manuel
AW: PERSONAL Makro für Header/Footer
15.10.2018 05:54:49
Manuel
Hallo Franz,
Ich danke dir für die große Hilfe. Das Makro funktioniert echt super.
Ich habe das Makro ein wenig verändert und Testäufe durchgeführt.
Veränderungen:
Für mich ist es nur von Interesse das ein Auswahlfenster erscheint bevor ich drucke. Daher habe ich im Klassenmodul das Privatsub objxlApp_NewWorkbook(ByVal Wb As Workbook) und objxlApp_WorkbookOpen(ByVal Wb As Workbook) gelöscht.
Testlauf vor meinen Veränderungen:
Bevor ich die Veränderungen durchgeführt habe, ist mir folgendes aufgefallen.
- Wenn ich in einem Workbook ein neues Sheet eingefügt habe (über „+“ Button) erschien keine Abfrage.
- Wenn in einem Workbook bereits Kopf und Fusszeilen vorhanden waren, erschien beim Öffnen des Workbooks ein Fehlercode (Run-time error).
Testlauf nach meinen Veränderungen:
- Bis jetzt läuft das Makro wirklich gut und ich habe keine Probeme.
- Ich habe das Makro auf zwei PCs ausprobiert. Auf einem PC kommt beim Öffnen von Excel immer der Warnhinweis: „Microsoft Excel Security Notice – Warning: Is is not possible to determine that this content came from a trustworthy source. You should leave this content disabled unless the content provides critical functionanlity and you trust its source.”
Hast du vielleicht eine Idee wie man Vorgehen kann, dass dieser Warnhinweis beim Öffnen von Excel nicht mehr erscheint.
Gruß und vielen Dank
Manuel
Anzeige
AW: PERSONAL Makro für Header/Footer
15.10.2018 05:57:22
Manuel
Hallo Franz,
Ich danke dir für die große Hilfe. Das Makro funktioniert echt super.
Ich habe das Makro ein wenig verändert und Testäufe durchgeführt.
Veränderungen:
Für mich ist es nur von Interesse das ein Auswahlfenster erscheint bevor ich drucke. Daher habe ich im Klassenmodul das Privatsub objxlApp_NewWorkbook(ByVal Wb As Workbook) und objxlApp_WorkbookOpen(ByVal Wb As Workbook) gelöscht.
Testlauf vor meinen Veränderungen:
Bevor ich die Veränderungen durchgeführt habe, ist mir folgendes Aufgefallen.
- Wenn ich in einem Workbook ein neues Sheet eingefügt habe (über „+“ Button) erschien keine Abfrage.
- Wenn in einem Workbook bereits Kopf und Fusszeilen vorhanden waren, erschien beim Öffnen des Workbooks ein Fehlercode (Run-time error).
Testlauf nach meinen Veränderungen:
- Bis jetzt läuft das Makro wirklich gut und ich habe keine Probeme.
- Ich habe das Makro auf zwei PCs ausprobiert. Auf einem PC kommt beim Öffnen von Excel immer der Warnhinweis: „Microsoft Excel Security Notice – Warning: Is is not possible to determine that this content came from a trustworthy source. You should leave this content disabled unless the content provides critical functionanlity and you trust its source.”
Hast du vielleicht eine Idee wie man Vorgehen kann, dass dieser Warnhinweis beim Öffnen von Excel nicht mehr erscheint.
Gruß und vielen Dank
Manuel
Anzeige
AW: PERSONAL Makro für Header/Footer
15.10.2018 08:11:01
fcs
Hallo manuel,
für neue Blätter das folgende Makro im Klassenmodul ergänzen:
Private Sub objxlApp_WorkbookNewSheet(ByVal Wb As Workbook, ByVal Sh As Object)
With UF_HeaderFooter
.TextBox1 = "Neues Tabelenblatt"
.TextBox2 = "Kopf-/Fusszeilen und Seitenlayout formatieren"
.ListBox1.AddItem "Keine Kopf-/Fusszeilen"
.ListBox1.AddItem "Kopf-/Fusszeilen ohne Seiten-Layout"
.ListBox1.AddItem "Kopf-/Fusszeilen mit Seiten-Layout"
.ListBox1.ListIndex = 0 'kein Aktion
.Show
Select Case .Tag
Case "Abbrechen"
Exit Sub
Case "1" 'keine Aktion
Exit Sub
Case "2" 'Kopf-/Fusszeilen inkl. Seitenlayout
Call prcPageSetUpFH(Sh, bolOhneLayout:=False)
Case "3" 'Kopf-/Fusszeilen ohne Seitenlayout
Call prcPageSetUpFH(Sh, bolOhneLayout:=True)
End Select
'        MsgBox .Tag
End With
Unload UF_HeaderFooter
End Sub

bezüglich der Sicherheitsmeldungen bin ich etwas überfragt.
Prüfe mal auf dem Problem Rechner unter Excel-Optionen "Trust Center" die Einstellungen für Vertrauenswürdige Ordner/Dokumente sowie externe Inhaltn und mache ggf. Anpassungen.
Gruß
Franz
Anzeige
AW: PERSONAL Makro für Header/Footer
15.10.2018 13:31:38
Manuel
Hi Franz,
Echt vielen dank für deine Hilfe.
Ich werde das mit dem "Trust Center" später mal probieren.
Gruß
Manuel
AW: PERSONAL Makro für Header/Footer
16.10.2018 09:21:35
Manuel
Hi Franz,
Die Einstellungen im "Trust Center" zu ändern hat tatsächlich geklappt.
Dein Makro läuft soweit auch hervorragend. Das einzigste was ich noch festgestellt habe ist, dass es zu einem Konflikt kommt mit einem anderen Makro in einer Excel-Mappe.
Diese andere Excel-Mappe besitzt ein Button dem ein Makro zugewiesen ist, mit dem man das aktuelle Tabellenblatt als PDF drucken kann. Wenn ich nun diesen Button drücke, kommt es zu einem Konflikt mit deinem Makro.
Ich habe mir schon überlegt, den PDF-Makro wie folgt zu ergänzen:
Private Sub Workbook_Open()
Application.EnableEvents = False

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.EnableEvents = True
End Sub
Das Problem ist nur, ich muss anschließend alle geöffneten Excel-Mappen wieder schließen und erneut öffnen, damit dein Makro wieder in denen funktioniert.
Das ist eher unschön.
Hast du vielleicht ein Tipp/Idee wie man vorgehen kann, damit das PDF Makro mit deinem Makro nicht kollidiert?
https://www.herber.de/bbs/user/124642.txt
Gruß
Manuel
Anzeige
AW: PERSONAL Makro für Header/Footer
16.10.2018 12:44:04
fcs
Hallo Manuel,
es sollte funktionieren, wenn du innerhalb des Makros "PDFDatei" zu Beginn des Makros die Ereignismakros deaktivierst und am Ende wieder aktivierst.
Dieser Vorschlag ist ungetestet, da ich dazu immer meine eigene PESONAL.xlsb umbauen muss, was auf die Dauer etwas lästig ist.
LG
Franz
AW: PERSONAL Makro für Header/Footer
16.10.2018 14:17:39
Manuel
Hi Franz,
es scheint das du recht hast. Ich hatte die Ereignismakros im Klassenmodul mit Workbook_Open / _BeforeClose eingefügt. Das hat nicht so gut funktioniert.
Mit deinem Vorschlag die Ereignismakros (Application.EnableEvents) direkt ins PDF-Modul einzufügen klappt es jetzt.
Danke noch mal, für dein schnelle Rückmeldung und Hilfe.
Gruß
Manuel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige