Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bild in verbundene Zelle einfügen

Bild in verbundene Zelle einfügen
22.09.2015 09:51:00
Brandt
Hallo Zusammen
Möchte gerne in eine verbundene Zelle ein Bild einfügen. Bild soll auf die maximale Breite zur Höhe eingepasst werden.
Ablauf sollte folgdender sein:
1.Wähle eine verbundene Zelle an
2.Über command button wird die Application.Dialogs(xlDialogInsertPicture).Show aufgerufen
3.Bild auswählen und in Zelle einpassen (Max. Breite zur Höhe)
4.Objektpositionierung "Von Zellposition und größe abhängig
Anbei mein vorhandener Quellcode
Private Sub cmd_picture_insert_Click()
'Dialogform aufrufen
x = Application.Dialogs(xlDialogInsertPicture).Show
'Bild in markierter Zelle einfügen
If x  False Then
Selection.Top = ActiveCell.Top
Selection.Left = ActiveCell.Left
'Bild in max. Breite der Zelle einpassen
xbreite = ActiveCell.Width
Selection.ShapeRange.Width = xbreite
Selection.ShapeRange.LockAspectRatio = False
Selection.Placement = xlMoveAndSize
Else
'Wenn kein Bild ausgewählt wurde ->MSgbox Meldung
MsgBox "No image selected!! "
End If
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild in verbundene Zelle einfügen
22.09.2015 10:22:34
EtoPHG
Hi Brandt,
Die Frage ist nur, was ist deine Frage?
Vielleicht so:
Private Sub cmd_picture_insert_Click()
Dim x, rngS As Range
If Selection.Cells(1, 1).MergeArea.Cells.Count = 1 Then
MsgBox "No merged cells selected!!", vbCritical, "Selection"
Exit Sub
End If
Set rngS = Selection
'Dialogform aufrufen
x = Application.Dialogs(xlDialogInsertPicture).Show
'Bild in markierter Zelle einfügen
If x  False Then
With Selection
.Top = rngS.Top
.Left = rngS.Left
.ShapeRange.Width = rngS.Width
.ShapeRange.LockAspectRatio = False
.Placement = xlMoveAndSize
End With
Else
'Wenn kein Bild ausgewählt wurde ->MSgbox Meldung
MsgBox "No image selected!! "
End If
End Sub
Gruess Hansueli

Anzeige
AW: Bild in verbundene Zelle einfügen
22.09.2015 10:50:01
Brandt
Hallo Hansueli
Das geht schon genau in die Richtung was ich suche. Meine abschliessende Frage wäre noch: Kann man das Makro so anpassen, das bei ungleichem Verhältnis (Breite zu Höhe der zelle) auch die Höhe mit in die Zelle anpepasst werden kann (Ohne Verzerrung des Bildes)?
Wollte mit dem Makro die max. Abmessungen des Bildes zur Zelle ausnutzen!!
Bei verbundenen Zellen, wo die Breite kleiner ist als die funktioniert das ohne Probleme bei Dir!!!

Anzeige
ohne Verzerrung anpassen, geht nicht...
22.09.2015 11:51:12
EtoPHG
Brandt,
Weil ja durch den Dialog ein x-beliebiges Bild eingefügt wird.
Das Bild müsste also das gleich Höhen:Breite Verhältnis haben wie die verbundenen Zellen. Das kann nie sichergestellt werden. Also kann nur entweder der Breite (was jetzt der Fall ist) oder der Höhe der Vorzug zur Skalierung gegeben werden. Du musst dich also entscheiden.
Gruess Hansueli

Anzeige
AW: ohne Verzerrung anpassen, geht nicht...
22.09.2015 12:02:22
Brandt
Hallo Hansueli
Alles klar Passt
Habe die Zellen dementsprechend angepasst
Danke für die Unterstützung!!!

ohne Verzerrung anpassen, geht nicht...
22.09.2015 11:51:13
EtoPHG
Brandt,
Weil ja durch den Dialog ein x-beliebiges Bild eingefügt wird.
Das Bild müsste also das gleich Höhen:Breite Verhältnis haben wie die verbundenen Zellen. Das kann nie sichergestellt werden. Also kann nur entweder der Breite (was jetzt der Fall ist) oder der Höhe der Vorzug zur Skalierung gegeben werden. Du musst dich also entscheiden.
Gruess Hansueli

Anzeige
AW: Bild in verbundene Zelle einfügen
22.09.2015 12:22:00
Daniel
Hi
wenn das Bild verzerrungsfrei in die Zelle oder den Zellverbund eingefügt werden soll, dann musst du das Höhen/Breitenverhältnis von Bild und Zelle miteinander vergleichen.
Wenn das Höhen/Breitenverhältnis des Bildes grösser ist als das der Zelle, musst du die Höhen anpassen und die Breite automatisch mitändern lassen.
Ist das Höhen/Breitenverhältnis kleiner als das der Zelle, musst du die Breite ändern.
Private Sub cmd_picture_insert_Click()
'Dialogform aufrufen
If Application.Dialogs(xlDialogInsertPicture).Show Then
'Bild in markierter Zelle einfügen
With ActiveCell.MergeArea
'--- Bildgrösse
If Selection.Height / Selection.Width > .Height / .Width Then
Selection.Height = .Height
Else
Selection.Width = .Width
End If
'--- Bildposition
Selection.Top = .Top
Selection.Left = .Left
'--- Bildeigenschaften
Selection.ShapeRange.LockAspectRatio = False
Selection.Placement = xlMoveAndSize
End With
Else
'Wenn kein Bild ausgewählt wurde ->MSgbox Meldung
MsgBox "No image selected!! "
End If
End Sub
Gruß Daniel

Anzeige
AW: Bild in verbundene Zelle einfügen
22.09.2015 15:18:21
Brandt
Hallo Daniel
Genau das hatte ich dann auch gemacht!
Aber danke für den Tip!!
;

Forumthreads zu verwandten Themen

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

Bild in verbundene Zelle einfügen in Excel


Schritt-für-Schritt-Anleitung

  1. Wähle eine verbundene Zelle an.
  2. Füge über einen Command Button den Befehl Application.Dialogs(xlDialogInsertPicture).Show ein, um den Dialog zum Einfügen eines Bildes zu öffnen.
  3. Wähle das Bild aus und achte darauf, dass es in die Zelle eingepasst wird.
  4. Stelle sicher, dass die Objektpositionierung auf "Von Zellposition und Größe abhängig" gesetzt ist.

Hier ist ein Beispiel für ein VBA-Makro:

Private Sub cmd_picture_insert_Click()
    Dim x As Variant
    Dim rngS As Range
    If Selection.Cells(1, 1).MergeArea.Cells.Count = 1 Then
        MsgBox "No merged cells selected!!", vbCritical, "Selection"
        Exit Sub
    End If
    Set rngS = Selection
    'Dialogform aufrufen
    x = Application.Dialogs(xlDialogInsertPicture).Show
    'Bild in markierter Zelle einfügen
    If x <> False Then
        With Selection
            .Top = rngS.Top
            .Left = rngS.Left
            .ShapeRange.Width = rngS.Width
            .ShapeRange.LockAspectRatio = False
            .Placement = xlMoveAndSize
        End With
    Else
        MsgBox "No image selected!! "
    End If
End Sub

Häufige Fehler und Lösungen

  • Fehler: "No merged cells selected!!"

    • Lösung: Stelle sicher, dass du tatsächlich eine verbundene Zelle ausgewählt hast, bevor du das Makro ausführst.
  • Fehler: Das Bild wird verzerrt.

    • Lösung: Achte darauf, die Höhe oder Breite des Bildes anzupassen, um das ursprüngliche Verhältnis beizubehalten. Du kannst das Höhen-Breiten-Verhältnis des Bildes mit dem der Zelle vergleichen.

Alternative Methoden

Eine andere Möglichkeit, ein Bild in eine Excel-Zelle einzufügen, ist die Verwendung von Excel-VBA. Hierbei kannst du das Bild automatisch an die Zellgröße anpassen und die Verankerung einstellen.

Beispiel:

Private Sub cmd_picture_insert_Click()
    If Application.Dialogs(xlDialogInsertPicture).Show Then
        With ActiveCell.MergeArea
            If Selection.Height / Selection.Width > .Height / .Width Then
                Selection.Height = .Height
            Else
                Selection.Width = .Width
            End If
            Selection.Top = .Top
            Selection.Left = .Left
            Selection.ShapeRange.LockAspectRatio = False
            Selection.Placement = xlMoveAndSize
        End With
    Else
        MsgBox "No image selected!! "
    End If
End Sub

Praktische Beispiele

  • Bild in verbundene Zelle einfügen: Du kannst ein Bild in eine verbundene Zelle einfügen, indem du das oben angegebene Makro verwendest. Das Bild wird auf die Zellgröße angepasst.

  • Bildverankerung: Wenn du sicherstellen möchtest, dass das Bild bei Zelländerungen mitwandert, setze die Verankerung auf xlMoveAndSize.


Tipps für Profis

  • Nutze die Funktion LockAspectRatio, um das Bildverhältnis zu wahren, wenn du die Zelle anpasst.
  • Verwende die Funktion xldialoginsertpicture, um den Bilddialog effizient zu öffnen.
  • Experimentiere mit verschiedenen Bildformaten, um die besten Ergebnisse in Excel zu erzielen.

FAQ: Häufige Fragen

1. Wie kann ich ein Bild in eine Zelle einfügen, ohne dass es verzerrt wird?
Achte darauf, das Höhen-Breiten-Verhältnis des Bildes mit dem der Zelle zu vergleichen und passe die Größe entsprechend an.

2. Ist es möglich, mehrere Bilder gleichzeitig in verbundene Zellen einzufügen?
Standardmäßig unterstützt Excel das gleichzeitige Einfügen von mehreren Bildern nicht. Du musst jeden Bildeinfügevorgang einzeln durchführen.

3. Welche Excel-Version benötige ich für diese Funktionen?
Die beschriebenen Funktionen sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und höher.

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