Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Ecxel VBA- Bilder einfügen in Zelle
#1
Hallo,
ich bin neu hier da ich ein Problem habe mit Excel VBA.

Ich habe eine Tabelle, wo ich in einer Tabellenspalte Bilder einfügen will.
Dazu habe ich in die jeweiligen Zellen, Textfelder eingesetzt und den Textfeldern Makros zugeteilt.

Der Code ist:

Sub Makro_Bild_einfügen_1()
'
' Makro_Bild_einfügen Makro

Dim sPicture As String, pic As Picture

sPicture = Application.GetOpenFilename _
("Pictures (*.gif; *.jpg; *.bmp; *.tif), *.gif; *.jpg; *.bmp; *.tif", _
, "Select Picture to Import")

If sPicture = "False" Then Exit Sub

Set pic = ActiveSheet.Pictures.Insert(sPicture)
With pic
.ShapeRange.LockAspectRatio = msoFalse
.Height = Range("K13:L13").Height
.Width = Range("K13:L13").Width
.Top = Range("K13:L13").Top
.Left = Range("K13:L13").Left
.Placement = xlMoveAndSize
End With

Set pic = Nothing

End Sub

Funktioniert auch Super!
Man Klickt einfach auf das Textfeld in der Zelle dann öffnet sich das Fenster " select Picture to Import" dann wählt man das Bild aus und es wird automatisch in die Zelle eingefügt und auf die Zellengröße angepasst.


Jetzt meine Frage!!!: Gibt es eine Funktion/eine Schleife oder so was das ich den
Code auf die anderen Zellen übertragen kann? Also dass sich z.B.:  Top= Range ("K13:L13) in Top= Range ("K14:L14)
ändert.

Ich habe 900 Zellen die das Makro brauchen wenn ich das alles mit Hand ändern muss dann würde das eine Menge Arbeit bedeuten.

Ich hoffe ich habe mich Verständlich ausgedrückt und hoffe auf eure Antworten.

MfG

Björn
Antwortento top
#2
Hallo Björn,

vielleicht so:
Sub Makro_Bild_einfügen_1()
'
' Makro_Bild_einfügen Makro
Dim rngP As Range
Dim sPicture As String, pic As Picture

sPicture = Application.GetOpenFilename _
("Pictures (*.gif; *.jpg; *.bmp; *.tif), *.gif; *.jpg; *.bmp; *.tif", _
, "Select Picture to Import")

If sPicture = "False" Then Exit Sub
Set rngP = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Resize(1, 2)
Set pic = ActiveSheet.Pictures.Insert(sPicture)
With pic
.ShapeRange.LockAspectRatio = msoFalse
.Height = rngP.Height
.Width = rngP.Width
.Top = rngP.Top
.Left = rngP.Left
.Placement = xlMoveAndSize
End With

Set pic = Nothing

End Sub

Gruß Uwe
Antwortento top
#3
Thumbs Up 
Hallo Uwe,

funktioniert super vielen Dank

mfg
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste