Office: (Office 365) VBA - Kopf- und Fußzeilen Anpassen mit Logos

Helfe beim Thema VBA - Kopf- und Fußzeilen Anpassen mit Logos in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich bin auf der Suche nach einer Lösung mehrere Excel Dokumente (Viele Anhänge, die ich immer wieder anpassen muss, die aber nicht in... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von wowifeelgood, 23. November 2023.

  1. VBA - Kopf- und Fußzeilen Anpassen mit Logos


    Hallo zusammen,
    ich bin auf der Suche nach einer Lösung mehrere Excel Dokumente (Viele Anhänge, die ich immer wieder anpassen muss, die aber nicht in einer Datei gespeichert werden können/ Sollen) gleichzeitig anzupassen. Es sollen jeweils die Kopfzeilen und die Fußzeilen nach einem Schema angepasst werden:

    1. Kopfzeile oben links: Logo Nr. 1
    2. Kopfzeile Mitte: in dem Kopfzeilenfeld sind mehrere Zeilen geschrieben. Ich möchte nur in der Ersten Zeile einen Eintrag mit dem "Projektnamen" eintragen. In der Zweiten Zeile soll das stehen bleiben, was bisher dort steht (falls möglich) - nämlich die Art der Anlage
    3. Kopfzeile oben rechts: Logo Nr. 2
    4. Fußzeile unten links: Zwei Zeilen, Zeile 1: "FIRMA | Kzl, Kzl, Kzl", Zeile 2: "Stand:" und dahinter Das aktuelle Datum der neuen Bearbeitung
    5. Fußzeile Mitte: "Seite" und darunter die aktuelle Seite / Gesamt-Seitenzahl 6. Fußzeile rechts: Zeile 1: Dateiname, Zeile 2: "Druckdatum:" heutiges Datum

    Ich habe mir jetzt so beholfen, dass ich ein Makro im personal.xlsb angelegt habe, welches ich mit einem Symbol in der Symbolleiste aufrufen kann, sodass ich dadurch den workflow etwas vereinfache. Leider muss ich dazu immer noch jede Datei einmal öffnen, aber da habe ich noch keine alternative Lösungsidee.

    Nun ist aber mein Problem, dass es bei dem Code, den ich jetzt habe immer eine Fehlermeldung gibt beim Einlesen der Logos und ich verstehe nicht, warum...

    Folgenden Code habe ich, jedoch kommt hierbei immer eine Fehlermeldung entweder 1004 oder 384. Er hängt sich immer an dem "&G" auf.

    Code:
    Option Explicit
    
    Sub FormatHeadFoot()
        ' Dialog zum Auswählen von Logo Nr. 1
        Dim logo1Path As Variant
        logo1Path = Application.GetOpenFilename(FileFilter:="Bilder (*.gif; *.jpg; *.jpeg; *.bmp; *.png), *.gif; *.jpg; *.jpeg; *.bmp; *.png", Title:="Logo Nr. 1 auswählen")
        
        ' Abbrechen, wenn der Benutzer den Dialog abbricht
        If logo1Path = "False" Then
            Exit Sub
        End If
        
        ' Dialog für Projektnamen
        Dim projectName As String
        projectName = InputBox("Geben Sie den Projektnamen für die Kopfzeile Mitte ein:")
        
        ' Dialog zum Auswählen von Logo Nr. 2
        Dim logo2Path As Variant
        logo2Path = Application.GetOpenFilename(FileFilter:="Bilder (*.gif; *.jpg; *.jpeg; *.bmp; *.png), *.gif; *.jpg; *.jpeg; *.bmp; *.png", Title:="Logo Nr. 2 auswählen")
        
        ' Abbrechen, wenn der Benutzer den Dialog abbricht
        If logo2Path = "False" Then
            Exit Sub
        End If
        
        ' Kopfzeile und Fußzeile formatieren
        Dim ws As Worksheet
        For Each ws In ThisWorkbook.Sheets
            ' Alte Inhalte in den Kopf- und Fußzeilen entfernen
            With ws.PageSetup
                .LeftHeader = ""
                .CenterHeader = ""
                .RightHeader = ""
                .LeftFooter = ""
                .CenterFooter = ""
                .RightFooter = ""
            End With
    
            ' Kopfzeile
            With ws.PageSetup
                .LeftHeader = "&G" & logo1Path ' Logo Nr. 1
                .CenterHeader = projectName ' Projektnamen in der Mitte
                .RightHeader = "&G" & logo2Path ' Logo Nr. 2
            End With
    
            ' Fußzeile
            ws.PageSetup.LeftFooter = "FIRMA | Kzl, Kzl, Kzl" & vbCrLf & "Stand: " & Format(Now, "DD.MM.YYYY")
            ws.PageSetup.CenterFooter = "Seite &P von &N" ' &P ist die aktuelle Seite, &N ist die Gesamtanzahl der Seiten
            ws.PageSetup.RightFooter = ThisWorkbook.Name & vbCrLf & "Druckdatum: " & Format(Now, "DD.MM.YYYY")
        Next ws
    End Sub
    
    Hat jemand eine Idee, wie ich erstmal den Code zum laufen bekomme, oder alternativ eine Idee, wie ich das Problem anders angehen könnte?
     
    wowifeelgood, 23. November 2023
    #1
  2. d'r Bastler
    d'r Bastler Erfahrener User
    Moin,

    versuche mal ganz ohne Makro "&G" auch ohne Anführungszeichen in eine benutzerdefinierte Kopfzeile zu schreiben...
    In Deinem Code ist keine Variable solchen Namens definiert. Dann schreibe mal vor die Zeile mit dem ersten &G die Anweisung On error resume next und ich vermute stark, dass Du dann an &P oder &N hängenbleibst.

    Grüße
     
    d'r Bastler, 25. November 2023
    #2
Thema:

VBA - Kopf- und Fußzeilen Anpassen mit Logos

Die Seite wird geladen...
  1. VBA - Kopf- und Fußzeilen Anpassen mit Logos - Similar Threads - VBA Kopf Fußzeilen

  2. Kann keinen VBA Kode eingeben

    in Microsoft Excel Hilfe
    Kann keinen VBA Kode eingeben: Hallo, ich habe eine Excel Datei bekommen in Format .xlsm. In Editor kann ich Formulare und Module anlegen und Kode einfügen und ausführen. Nun wollte ich Kode hinzufügen der direkt nach dem...
  3. VBA prüfen - eventuell Fehler

    in Microsoft Access Hilfe
    VBA prüfen - eventuell Fehler: Hallo Fachkräfte, hier ein VBA-Modul das einen Fehler enthalten soll. Case 2 wurde in 2022 geändert. In Case 3 , 4 oder ... soll auch noch ein Fehler sein. Wo genau was falsch ist und wie...
  4. VBA: Fehler 0x800a03ec beim Ribbon

    in Microsoft Excel Hilfe
    VBA: Fehler 0x800a03ec beim Ribbon: Hallo, ich habe eine Tabelle, die ich ohne Titelleiste anzeigen lassen möchte. Dazu habe ich mir zwei Makros geschrieben Sub AusBlenden() CommandBars("Worksheet Menu Bar").Enabled = False...
  5. Dateiname der aktuellen Datei als Variable

    in Sonstiges
    Dateiname der aktuellen Datei als Variable: Hallo in die Runde, kann ich unter VBA (Excel/Outlook) den Namen der aktuellen Datei auslesen und in einer Variable weiterverarbeiten? Danke im Voraus, Andreas
  6. Makro um E-Mails zu verschieben

    in Microsoft Outlook Hilfe
    Makro um E-Mails zu verschieben: Ich suche ein Makro das ich auf einem Rechner ausführen lassen kann um gelesene Mails z.B. auf dem Handy in einen bestimmten Ordner zu verschieben um meinen Posteingang "sauber" zu halten....
  7. Access VBA – Prüfen, ob eine PDF bereits geöffnet ist, bevor sie erneut geöffnet wird

    in Microsoft Access Hilfe
    Access VBA – Prüfen, ob eine PDF bereits geöffnet ist, bevor sie erneut geöffnet wird: Beschreibung: Ich arbeite mit Access VBA und habe eine Funktion implementiert, die beim Klick auf einen Button („Unterzeichnet“) einen Bericht als PDF exportiert. Was aktuell funktioniert:...
  8. KOpf- / und Fusszeile per VBA beschriften

    in Microsoft Excel Hilfe
    KOpf- / und Fusszeile per VBA beschriften: hallo, ich möchte in einer excel-arbeitsmappe sowohl kopf als auch fusszeile (primär die fusszeile) per vba mit inhalt füllen und zwar so, dass bevor gespeichert oder gedruckt wird meine werte...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden