Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Grafik in der Kopfzeile - OHNE PFADANGABE

Grafik in der Kopfzeile - OHNE PFADANGABE
02.07.2008 13:50:17
Roland
Mit folgendem Code kann ich eine Grafik in die Kopfzeile einfügen:

Sub LogoInKopfzeileEinfügen()
ActiveSheet.PageSetup.RightHeaderPicture.Filename = "M:\Logo.tif"
ActiveSheet.PageSetup.RightHeader = "&G"
End Sub


Mein Problem ist:
Die Excel-Datei soll von einem Webserver geladen werden. D.h. ich möchte das Logo als Teil meiner Excel-Tabelle laden und nicht aus einem Verzeichnis auslesen.
Fragen:
Ist es möglich, ein Logo welches ich als Objekt in einer (verborgenen) Excel-Tabelle bereitstelle in die Kopfzeile einzufügen. Z.B. indem ich das Logo zuerst aus meiner Exce-Mappe exportiere um es dann wieder in die Kopfzeile einzulesen?
- oder -
Kann ich das PageSetup-Objekt oder das Logo aus der Kopfzeile eines andern Excel-Blattes in mein neues Blatt kopieren?
Was nicht geht:
Die Report-Seiten werden in einem neu erstellten Arbeitsblatt aufgebaut. Deshalb kann ich das Logo nicht vorher in der Kopfzeile abspeichern.
Einzelne Seiten werden auf Seitenbreite skaliert. Das Logo soll auf allen Seiten gleich gross sein. Deshalb kann es nicht in eine Wiederholungszeile eingefügt werden.
Bin für alle Tipps dankbar.
Roland

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik in der Kopfzeile - OHNE PFADANGABE
03.07.2008 13:21:55
fcs
Hallo Roland,
lege in deiner Datei eine leere Muster-Tabelle an in der das Logo in der gewünschten Form vorhanden ist. ggf. kannst du dem Muster auch schon ein paar Grundeinstellungen (Seite einrichten, Kopf- Fusszeile etc) verpassen, die dann nicht vom Makro erstellt werden müssen.

'Die neue Arbeitsmappe wird jetzt nicht mehr mit
Set wbNeu = Workbooks.Add(Template:=xlWBATWorksheet)
'angelegt mit
With ThisWorkbook.Worksheets("Muster")
.Visible = xlSheetVisible
.Copy
Set wbNeu = ActiveWorkbook
.Visible = xlSheetHidden
End With


Gruß
Franz

Anzeige
AW: Grafik in der Kopfzeile - OHNE PFADANGABE
03.07.2008 18:15:00
Roland
Hallo Franz
Danke für deine Antwort. Diese Idee hatte ich auch schon. Funktioniert theoretisch auch. In der Praxis gibt es aber Probleme wenn du eine Tabelle zu oft kopierst. Sobald eine Tabelle einen benannten Bereich (d.h. einen Namen) enthält stürzt Excel nach dem 255 Kopiervorgang ab.
Definier in einem Blatt einen Namen. Ergänze deinen Code so, dass das Blatt unmittelbar nach dem Kopieren wieder gelöscht wird und pack das ganze in eine Schleife. Das Ding stürzt 100%-ig ab nach dem 255-igsten Durchlauf ab.
Meine Tabelle ist etwas komplexer. Hier passiert der Absturz bereits nach der 45-igsten Kopie.
Ist so - muss man damit leben. Details dazu findest du in folgendem KB-Artikel: http://support.microsoft.com/kb/210684/en-us
Gruss Roland

Anzeige
AW: Grafik in der Kopfzeile - OHNE PFADANGABE
04.07.2008 10:37:22
fcs
Hallo Roland,
wenn das Vielfach-Kopieren des gleichen Blattes innerhalb der selben Arbeitsmappe so wichtig/kritisch ist, dann muss du die Arbeitsmappe bei Auftreten des Fehlers speichern, schließen und wieder öffnen. Dann klappt es.
Alternativ kann man das immer Musterblatt aus der Masterdatei in die neue Arbeitsmappe kopieren.
Gruß
Franz

Sub BlattCopy01()
Dim wbNeu As Workbook, i As Integer
'Die neue Arbeitsmappe anlegen
Set wbNeu = Workbooks.Add(Template:=xlWBATWorksheet)
'Musterblatt vielfach in die neue Arbeitsmappe kopieren
With ThisWorkbook.Worksheets("Muster")
.Visible = xlSheetVisible
For i = 1 To 275
.Copy after:=wbNeu.Sheets(wbNeu.Sheets.Count)
Set wksNeu = ActiveSheet
wksNeu.Name = "Tab" & Format(i, "000")
Next
.Visible = xlSheetHidden
End With
End Sub
Sub BlattCopy02()
Dim wbNeu As Workbook, i As Integer, wksNeu, strNeu As String, Auswahl As Variant
'neue Arbeitsmappe erstellen
On Error GoTo Fehler
ThisWorkbook.Worksheets("Muster").Copy
Set wbNeu = ActiveWorkbook
'Blatt Muster innerhalb der neuen Datei kopieren
For i = 1 To 275
wbNeu.Worksheets("Muster").Copy after:=wbNeu.Sheets(wbNeu.Sheets.Count)
Set wksNeu = ActiveSheet
Application.DisplayAlerts = False
wksNeu.Delete
Application.DisplayAlerts = True
Next
Fehler:
If Err.Number  0 Then
If Err.Number = 1004 Then
Speichern:
Auswahl = Application.Dialogs(xlDialogSaveAs).Show
If Auswahl = False Then
If MsgBox("Ohne speichern der Datei wird das Makro jetzt abgebrochen! Doch speichenr?",  _
_
vbYesNo) = vbNo Then
Else
GoTo Speichern
End If
End If
strNeu = wbNeu.FullName
wbNeu.Close
Set wbNeu = Workbooks.Open(Filename:=strNeu)
Resume
Else
MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
End If
End If
End Sub


Anzeige
AW: Grafik in der Kopfzeile - OHNE PFADANGABE
04.07.2008 11:48:00
Roland
Hallo Franz
Danke für deine Antwort. Zwei schöne Lösungen – welche ich mir merken werde. Hätte ich das alles schon am Anfang gewusst sähe meine Lösung heute ganz anders aus.
Im konkreten Fall muss ich nicht wirklich ein Blatt so oft kopieren. Mit meiner Applikation berechne ich Anlagevorschläge, wobei einzelne Blätter (maximal 6 mal) dupliziert werden. Dennoch ist es zurzeit so, dass beim Berechnen des 8-ten Anlagevorschlags der Absturz bei Kopieren eines Blattes auftritt. Ich werden einen Zähler einbauen, in dem ich zähle wie viele Anlagevorschläge berechnet sind und werde den Benutzer nach dem 7-ten auffordern, die Anwendung manuell zu schliessen und wieder zu öffnen. Dies ist zulässig, weil in der Regel nicht so viele Anlagevorschläge hintereinander erstellt werden.
Ich bin nun vorsichtig und vermeide das Kopieren von Blättern um die Zahl von 8 hintereinander berechenbaren Anlagevorschlägen nicht noch weiter nach unten zu treiben.
Deshalb habt ich zusammen mit einem Arbeitskollegen für das Logo-Problem inzwischen folgenden (zugegeben exotischen) Workaround gesucht und gefunden: Ich exportiere das Logo einmalig ins Temp-Verzeichnis und lade es bei Bedarf von dort in die Kopfzeile. Da man ein Grafikobjekt nicht exportieren kann "verpacke" ich es in einem Chart – und ein Chart kann als GIF-Datei exportiert werden.
Gruss Roland
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Grafik in der Kopfzeile einfügen ohne Pfadangabe


Schritt-für-Schritt-Anleitung

Um eine Grafik in die Kopfzeile einer Excel-Datei einzufügen, ohne auf einen Pfad zuzugreifen, kannst du die folgenden Schritte ausführen. Diese Anleitung ist für Excel 2016 und höher geeignet.

  1. Grafik als Objekt einfügen:

    • Füge das Bild in ein Arbeitsblatt ein. Gehe dazu zu Einfügen > Bilder und wähle das gewünschte Bild aus.
  2. Bild in ein Diagramm einfügen:

    • Klicke mit der rechten Maustaste auf das Bild und wähle Diagramm erstellen. Das Bild wird nun in einem Diagramm platziert.
  3. Diagramm exportieren:

    • Exportiere das Diagramm als GIF-Datei in ein temporäres Verzeichnis. Das kannst du mit VBA wie folgt tun:
      ActiveSheet.ChartObjects(1).Chart.Export Filename:="C:\Temp\Logo.gif", FilterName:="GIF"
  4. Bild in die Kopfzeile einfügen:

    • Verwende den folgenden VBA-Code, um das Bild in die Kopfzeile einzufügen:
      Sub LogoInKopfzeileEinfügen()
      ActiveSheet.PageSetup.RightHeaderPicture.Filename = "C:\Temp\Logo.gif"
      ActiveSheet.PageSetup.RightHeader = "&G"
      End Sub
  5. Kopfzeile anpassen:

    • Du kannst die Kopfzeile anpassen, indem du die Größe oder die Position des Bildes festlegst. Dies kannst du über die Seite einrichten-Option in der Registerkarte Seitenlayout tun.

Häufige Fehler und Lösungen

  • Bild in Kopfzeile einfügen funktioniert nicht:

    • Stelle sicher, dass der Pfad zum Bild korrekt ist. Wenn du das Bild nicht finden kannst, überprüfe, ob der temporäre Ordner existiert.
  • Excel kopfzeile grafik einfügen error:

    • Wenn du einen Fehler erhältst, der besagt, dass das Bild nicht eingefügt werden kann, überprüfe den Dateityp und die Dateigröße. Excel unterstützt nicht alle Bildformate.
  • Kopfzeile wird nicht richtig angezeigt:

    • Wenn die Kopfzeile nicht angezeigt wird, stelle sicher, dass du die Kopfzeile über Seitenlayout > Kopf- und Fußzeile einblendest.

Alternative Methoden

  • Excel grafik in kopfzeile kopieren:

    • Du kannst auch eine Grafik von einem anderen Arbeitsblatt kopieren. Wähle die Grafik aus, drücke Strg + C, wechsle zu dem gewünschten Arbeitsblatt und füge sie mit Strg + V ein. Dann kannst du die Grafik nach dem Einfügen in die Kopfzeile verschieben.
  • Verwendung eines Musterblatts:

    • Erstelle ein Musterblatt, das das Logo in der Kopfzeile enthält, und kopiere dieses Musterblatt bei Bedarf in neue Arbeitsmappen. Dies kann besonders nützlich sein, wenn du mehrere Berichte mit demselben Layout benötigst.

Praktische Beispiele

  1. Logo in Excel kopfzeile:

    • Du hast ein Unternehmenslogo, das du in der Kopfzeile deiner Berichte zeigen möchtest. Füge das Logo in ein Diagramm ein und exportiere es, wie oben beschrieben.
  2. Grafik in kopfzeile einfügen excel:

    • Wenn du ein Bild von einem Event oder einer Präsentation hast, das du in die Kopfzeile einfügen möchtest, gehe den gleichen Prozess durch, um es anzuzeigen.

Tipps für Profis

  • Kopfzeile vergrößern:

    • Wenn du eine größere Grafik verwenden möchtest, musst du die Kopfzeile vergrößern. Dies kannst du über Seitenlayout > Seite einrichten > Kopfzeile tun.
  • Logo in kopfzeile excel automatisch aktualisieren:

    • Wenn du das Logo regelmäßig änderst, kannst du ein Makro erstellen, das das Logo automatisch aktualisiert, wenn die Datei geöffnet wird.

FAQ: Häufige Fragen

1. Wie kann ich ein Bild in die Kopfzeile einfügen, ohne einen Pfad anzugeben? Es ist möglich, das Bild als Objekt in Excel zu speichern und dann mit VBA in die Kopfzeile einzufügen.

2. Warum funktioniert das Einfügen von Bildern in die Kopfzeile manchmal nicht? Das kann an falschen Dateipfaden oder inkompatiblen Bildformaten liegen. Stelle sicher, dass das Bild im richtigen Format vorliegt und der Pfad korrekt ist.

3. Kann ich mehrere Bilder in der Kopfzeile verwenden? Ja, du kannst mehrere Bilder in verschiedenen Abschnitten der Kopfzeile (links, mittig, rechts) platzieren, indem du den entsprechenden VBA-Code anpasst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige