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

Forumthread: Bildgröße in Kopfzeile dynamisch anpasse

Bildgröße in Kopfzeile dynamisch anpasse
13.10.2022 15:20:18
Günther
Hallo
ich benötige mal wieder Eure Hilfe.
Ich platziere ein Bild in der Kopfzeile und gebe eine Größe für diese an, z.b. LeftHeaderPichtue.Height = 30. Die Logos wechseln je nach Kunde. Bei der starren Bildgröße bzw. Platzhalter für das Bild, werden diese, je nach Bild, auch verzerrt.
Gibt es denn eine Möglichkeit die Bilder dynamisch an die Größe der Kopfzeilen-Zelle anzupassen, damit das Bild nicht verzerrt wird?

Sub Firmenlogo_in_Kopfzeile()
Dim kd As String
kd = ThisWorkbook.Worksheets("!Deckblatt").Range("D7")
kd_path = "C:\temp\test\"
With Worksheets("Arbeitsblatt C1").PageSetup
.LeftHeaderPicture.FileName = kd_path & kd & "\logo\logo.jpg"
.LeftHeader = "&G"
Worksheets("Arbeitsblatt C1").PageSetup.LeftHeaderPicture.LockAspectRatio = False
Worksheets("Arbeitsblatt C1").PageSetup.LeftHeaderPicture.Height = 30
Worksheets("Arbeitsblatt C1").PageSetup.LeftHeaderPicture.Width = 50
End With
End Sub
Grüße
Günther
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildgröße in Kopfzeile dynamisch anpasse
13.10.2022 15:34:39
volti
Hallo Günther,
bei diesem u.a. Code bleiben bei mir die Bilder unverzerrt.
Du gibst hier nur die Höhe an, die dürfte ja immer gleich sein. Die Breite wird automatisch angepasst.
Code:


Sub Firmenlogo_in_Kopfzeile() Dim kd As String kd = ThisWorkbook.Worksheets("!Deckblatt").Range("D7") kd_path = "C:\temp\test\" With Worksheets("Arbeitsblatt C1").PageSetup .LeftHeaderPicture.Filename = kd_path & kd & "\logo\logo.jpg" .LeftHeader = "&G" .LeftHeaderPicture.LockAspectRatio = True .LeftHeaderPicture.Height = 30 End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Bildgröße in Kopfzeile dynamisch anpasse
13.10.2022 15:44:48
Günther
Hallo Karl-Heinz,
ich bin begeistert. Das funktioniert! Da wäre ich nie drauf gekommen.
Danke
Grüße
Günther
AW: Bildgröße in Kopfzeile dynamisch anpasse
13.10.2022 15:50:03
volti
Hallo Günther,
und falls es doch keine feste Kopfhöhe sein soll, ggf. mal mit
.LeftHeaderPicture.Height = .TopMargin
spielen.
Gruß
KH
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bildgröße in Kopfzeile dynamisch anpassen


Schritt-für-Schritt-Anleitung

Um ein Bild in der Kopfzeile von Excel dynamisch anzupassen, befolge diese Schritte:

  1. Öffne Excel und navigiere zu dem Arbeitsblatt, in dem du das Bild in der Kopfzeile einfügen möchtest.
  2. Öffne den VBA-Editor:
    • Drücke ALT + F11.
  3. Erstelle ein neues Modul:
    • Wähle im Menü "Einfügen" die Option "Modul".
  4. Füge den folgenden Code ein:

    Sub Firmenlogo_in_Kopfzeile()
        Dim kd As String
        kd = ThisWorkbook.Worksheets("!Deckblatt").Range("D7")
        kd_path = "C:\temp\test\"
        With Worksheets("Arbeitsblatt C1").PageSetup
            .LeftHeaderPicture.FileName = kd_path & kd & "\logo\logo.jpg"
            .LeftHeader = "&G"
            .LeftHeaderPicture.LockAspectRatio = True
            .LeftHeaderPicture.Height = 30
        End With
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.
  6. Führe das Makro aus:
    • Drücke ALT + F8, wähle Firmenlogo_in_Kopfzeile und klicke auf "Ausführen".

Jetzt wird das Bild in der Kopfzeile eingefügt und automatisch in der Höhe angepasst, ohne dass es verzerrt wird.


Häufige Fehler und Lösungen

  • Bild wird verzerrt: Stelle sicher, dass LockAspectRatio auf True gesetzt ist. Dies verhindert, dass das Bild beim Anpassen der Höhe verzerrt wird.
  • Bild wird nicht angezeigt: Überprüfe den Pfad zum Bild und stelle sicher, dass die Datei existiert.
  • Kopfzeile ist zu klein: Wenn das Bild nicht vollständig angezeigt wird, kannst du die Höhe der Kopfzeile anpassen, indem du mit der rechten Maustaste auf die Kopfzeile klickst und "Kopfzeilen- und Fußzeilenoptionen" wählst.

Alternative Methoden

Eine einfache Methode, um die Excel Kopfzeile Grafik zu skalieren, ist das manuelle Einfügen des Bildes direkt über die Kopfzeilen-Optionen:

  1. Gehe zu "Einfügen" > "Kopfzeile & Fußzeile".
  2. Wähle "Bild" und füge das gewünschte Bild ein.
  3. Klicke auf das Bild und passe die Größe manuell an, um sicherzustellen, dass es nicht verzerrt ist.

Praktische Beispiele

Angenommen, du möchtest ein Logo in der Kopfzeile einfügen:

  • Verwende den VBA-Code oben, um ein Logo für jeden Kunden dynamisch anzupassen.
  • Experimentiere mit der Höhe, indem du .LeftHeaderPicture.Height = .TopMargin ausprobierst, um die Kopfzeilenhöhe dynamisch anzupassen.

Tipps für Profis

  • Verwende die Funktion Application.ScreenUpdating = False, um die Bildschirmaktualisierung zu deaktivieren, während das Makro läuft. Dies kann die Ausführungsgeschwindigkeit erhöhen.
  • Speichere deine Excel-Datei regelmäßig, besonders wenn du mit VBA arbeitest, um Datenverlust zu vermeiden.
  • Teste den Code in einer Kopie deiner Datei, um ungewollte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Höhe der Kopfzeile in Excel ändern?
Du kannst die Höhe der Kopfzeile ändern, indem du mit der rechten Maustaste auf die Kopfzeile klickst und "Kopfzeilen- und Fußzeilenoptionen" wählst. Dort kannst du die Höhe der Kopfzeile manuell anpassen.

2. Was passiert, wenn ich mehrere Bilder in der Kopfzeile habe?
Du musst sicherstellen, dass die Größe jedes Bildes an die Kopfzeilenhöhe angepasst wird. Verwende den entsprechenden VBA-Code für jedes Bild und passe die Height und Width entsprechend an, um Verzerrungen zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige