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.

Bilder aus einer URL anzeigen und wieder überschreiben
#1
Hallo zusammen

Sorry, im Voraus. Ich weiss, die Frage wurde schon X mal behandelt. Aber meine Anforderung habe ich so nicht gefunden.

Ich habe eine Exceltabelle. In der Zelle X2 steht jeweils eine URL. Ich möchte jetzt nur, dass in der Zelle X5 das Bild aus der URL dargestellt wird. 
 
Grundsätzlich geht das schon mit dem folgenden Modul:
===================
Sub bildeinfuegen()
Function bildeinfuegenausURL(URL As String) As String
With ActiveSheet.Pictures.Insert(URL)
.top = Application.Caller.top + 1
.left = Application.Caller.left + 1
.ShapeRange.height = 300
End With
InsertPicFromURL = ""
End Function
===================

-> Das Problem ist aber, dass es das Bild immer und immer wieder in die Tabelle kopiert. Wie kann ich sicherstellen, dass jeweils nur das Bild aus 
der aktuellen URL in der Tabelle ist? 

Ich denke, das Bild muss einen Namen bekommen. Beim erneuten Laden muss das "alte" Bild gelöscht und das neue geladen werden.

Mit Excel kenne ich mit gut aus, mit VBA nicht. Kann mir jemand den Code anpassen?
Antworten Top
#2
(26.07.2023, 07:16)Meister_Popper schrieb: Da hab ich doch glatt den falschen Code reinkopiert! Soryy
 
Grundsätzlich geht das schon mit dem folgenden Modul:
===================
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim strBildName As String
    strBildName = "VerlinktesBild" 'Interner Bildname - nicht ändern !
   
    On Error Resume Next
 
 
  If Not Intersect(Target, [X2]) Is Nothing Then
       
        ActiveSheet.Pictures(strBildName).Delete 'Vorheriges Bild löschen
        If Target.Value <> "" Then
            If Dir(Target.Value) <> "" Then
                With ActiveSheet.Pictures.Insert(Target.Value)
                    .top = [X5].top + 1  'Oben ausrichten
                    .left = [X5].left + 1 'links ausrichten
                    .Name = strBildName    'Bildname zuweisen
                End With
            End If
        End If
    End If

End Sub
===================
Antworten Top
#3
Moin!
Code:
=BILD(X2)
https://support.microsoft.com/de-de/offi...913d51f5d5?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


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