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

Aus Internetlink soll Bild in der Spalte

Aus Internetlink soll Bild in der Spalte
30.04.2022 18:51:54
Andre
Hallo ich hänge da :)
Hier ist ein Link in der "main" D4 .... dieser verändert sich - vom Inhalt der Spalte C
Also ich will wenn in der Spalte C6 11 steht, das Foto 11 sehen, den Link habe ich schon geschaft reinzubringen - der sich auch ändert - je nach Ergebnis der Spalte C - aber ich möchte - dass das Bild gleich direkt reingeladen wird - den Link brauche ich nicht zu sehen.
Die Bildgröße muss ich dann noch anpassen, oder geht das auch über einen Befehl?
Die Fixen Links für die Spalte sind in "Bilder"
Wie löse ich das am Besten.
https://www.herber.de/bbs/user/152776.xlsx
LG

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus Internetlink soll Bild in der Spalte
01.05.2022 00:27:35
Felix
Hallo Andre,
da lässt sich mit Formeln meines Wissens nichts machen.
Für sowas braucht man dann VBA als Lösung. Ich habe dir eine User Defined Function (UDF) erstellt mit der du Bilder einfügen kannst.
Ich habe sie um den Code schlank zu halten auf deine SItuation (Tabelle "main" und SPalte D) nagepasst. Das heißt sie funktioniert auch nur da. Im Zweifelsfall kann man die Formel aber auch generalisieren für andere Tabellen oder Spalten.
Die Formel ist wie Folgt aufgebaut:
=BildEinfuegen(url As String, Zeilennummer As Integer)
Also erst die URL und dann die Zeilennummer. DIe lasse ich mir an deiner Tabelle fortlaufend berechnen durch die ProduktID + 3
Sobald die Bilder drin sind und sich nicht bei jedem speichern aktualisieren sollen (braucht Zeit braucht Rechenkapazität) würde ich die Formel löschen, das Bild bleibt erhalten.
https://www.herber.de/bbs/user/152782.xlsm
Bei Fragen einfach nochmal gerne Fragen
Gruß Felix
Anzeige
super Lösung
01.05.2022 13:41:45
Andre
vielen Dank - wie kann ich es machen - dass das Logo ganz links ist - damit kann ich die Zelle verkleinern - :
Das generalisieren klingt gut - wie mache ich das dann am besten :)
) Danke :) echt super lg :)
Überarbeitet + Erklärung Bildposition
01.05.2022 21:24:30
Felix
Hallo Andre, sehr gerne.
Die Positionierung erfolgt in folgendem Bereich:

Set xRg = Sheets("main").Cells(CellRow, 4)                -Hier wird die Zelle festgelegt
With Pshp
.LockAspectRatio = msoTrue                    -Hier wird das Größenverhältnis des Originalbilds festgesetzt
.Height = xRg.Height * 0.9                    -Hier wird die Höhe des Bilds auf 0,9 der Höhe der Zelle festgelegt
.Top = xRg.Top + (xRg.Height - .Height) / 2   -Hier wird die y-Achse des Bildes zentriert in der Zelle festgelegt
.Left = xRg.Left + (xRg.Width - .Width) / 2   -Hier wird die x-Achse des Bildes zentriert in der Zelle festgelegt
End With
Somit bleibt das Bild immer zentriert in der Zelle und du kannst die Spalte einfach verkleinern, beim Neuberechnen wird das Bild immer zentriert dargestellt.
Generalisiert wäre der Code wie folgt: (-ungetestet-)

Function BildEinfuegen(url As String, Optional rng As Range)
Dim Pshp As Shape
Dim xRg As Range
Dim xCol As Long
On Error Resume Next
Application.ScreenUpdating = False
If rng Is Nothing Then
Set xRg = Application.Caller
Else
Set xRg = rng
End If
For Each shp In xRg.Worksheet.Shapes
If shp.TopLeftCell.Row = CellRow And shp.TopLeftCell.Column = 4 And shp.Type = 11 Then shp.Delete
Next shp
xRg.Worksheet.Pictures.Insert(url).Select
Set Pshp = Selection.ShapeRange.Item(1)
If Pshp Is Nothing Then GoTo lab
If rng Is Nothing Then
Set xRg = Application.Caller
Else
Set xRg = rng
End If
With Pshp
.LockAspectRatio = msoTrue
.Height = xRg.Height * 0.9
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
End With
lab:
Set Pshp = Nothing
Application.ScreenUpdating = True
End Function
Da gilt die Funktion dann für die Zelle in der sie steht, außer man gibt eine andere Zelle an.
=BildEinfuegen(url;[Zelle])
VG Felix
Anzeige
AW: Überarbeitet + Erklärung Bildposition
02.05.2022 10:07:10
Andre
vielen Lieben Dank für die Mühe ich werde es austesten lg :) danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige