Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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

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

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!!!

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

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!!

414 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige