Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bilder mit VBA in Excel darstellen

Bilder mit VBA in Excel darstellen
05.03.2020 13:13:12
Wolfgang
Hallo zusammen.
Ich hoffe, dass mir - als absoluter Anfänger bei VBA - hier weitergeholfen werden kann.
Folgendes Problem:
Ich würde gerne einen Steckbrief einer Immobilie erstellen. Neben den Daten wie Laufzeit, Miete, usw. soll ein Luftbilder der Immobilie angezeigt, welches ich vorher auf dem Server abspeicher. Jede Immobilie ist durch eine 6-stellige Ziffer eindeutig zu erkennen. Die Bilder heißen genau wie die Immobilie. D.H: Bei Immobilie 123456 heußt die Bilddatei 123456.png.
Jetzt hätte ich gerne, dass wenn ich die Zeile B1 die 6-stellige Ziffer der Immobilie eintragen, das entsprechende Bild der Immobilie daneben erscheint. Wenn ich eine neue Ziffer eingebe, soll das alte Bild verschwinden und das neue angezeigt werden.
Bildorder: C:\Users\wsteinha\Desktop
Ich würde mich freuen, wenn mir jemand weiterhelfen kann. Ich konnte auch nach langer Suche im Netz keinen passenden Text für ein Makro gefinden.
Vielen Dank vorab.
Wolfgang
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bilder mit VBA in Excel darstellen
05.03.2020 13:30:04
Joachim
Hallo,
ich hab ein ähnliches Problem wie folgt gelöst:
In dem Register, in dem Du das Bild haben willst fügst Du mit der Kamera ein Bild von deinem Bild ein. Dann hab ich über VBA den Bereich, den das Bild darstellt auf den Bereich gesetzt, in dem das Bild ist, das ich haben will. Setzt aber voraus, dass Du alle Bilder in die Exceldatei lädst.
Ansonsten würde ich mir den Makrorecorder nehmen, das Laden eines Bildes aufzeichnen und den Code dann so abändern, dass VBA das passende Bild lädt.
Hoffe das hilft Dir
Gruß
Anzeige
AW: Bilder mit VBA in Excel darstellen
05.03.2020 13:59:46
Wolfgang
Vielen Dank für die schnelle Rückmeldung.
Die erste Idee hilft mir leider nicht. Es sind meherere hundert Immobilien und entsprechend viele Bilder.
Der zweite Weg, den du genannt hast, wäre der, den ich mir vorstelle. Ich hatte die Hoffnung, dass jemand auf die schnelle einen entsprechenden Text kennt. Ich hatte mit dem Makrorecorder versucht, habe es dann aber nicht die Abhängigkeit zu der Zelle herzustellen :(
Viele Grüße
Anzeige
AW: Bilder mit VBA in Excel darstellen
05.03.2020 13:58:20
JoWE
Hallo Wolfgang,
hier ein Beispiel, Du musst die Pfadangaben noch anpassen.
Ich habe es mit "jpg's" getestet.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myPath As String, myPic As String
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp
myPath = "C:\myPath\trainings\"
If Target.Column = 2 And Target.Value  "" Then
On Error GoTo 0
myPic = myPath & Range(Target.Address).Value
With ActiveSheet.Pictures.Insert(myPic)
.Left = 150
.Top = 80
'.Width = 123
'.Height = 134
End With
End If
End Sub

Gruß
Jochen
Anzeige
@JoWe: Range(Target.Address)
05.03.2020 16:58:28
Rudi
Hallo,
wozu erst die Adresse eines Ranges ermitteln, um dann daraus einen Range zu erstellen?
myPic = myPath & Target.Value
reicht völlig aus. Selbst .Value kannst du dir sparen.
myPic = myPath & Target
Und warum SelectionChange?
Außerdem bezieht sich dein Code auf alle Zellen in B
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myPath As String, myPic As String
Dim shp As Shape
myPath = "C:\Users\wsteinha\Desktop\"
If Target.Address = "$B$1" Then 'geänderte Zelle ist B1
If Target  "" Then          'nicht leer
'Bild in C1 löschen
For Each shp In ActiveSheet.Shapes
If shp.TopLeftCell.Address = "$C$1" Then
shp.Delete
End If
Next shp
myPic = myPath & Target & ".png"
If Len(Dir(myPic)) Then 'Bild ist vorhanden
With ActiveSheet.Pictures.Insert(myPic)
.Left = Range("C1").Left
.Top = Range("C1").Top
'.Width = 123
'.Height = 134
End With
Else
MsgBox "Bild nicht vorhanden", , "Gebe bekannt..."
End If
End If
End If
End Sub
Gruß
Rudi
Anzeige
ja so geht's auch - war ne heiße Nadel...
05.03.2020 17:09:34
JoWE
...so zwischendurch gehudelt :-)
Gruß
Jochen
AW: ja so geht's auch - war ne heiße Nadel...
06.03.2020 11:06:13
Wolfgang
Das ist ja der Knaller. @ Rudi: es funktioniert einwandfrei. Vielen herzlichen Dank für eure Hilfe. Ihr seid echt der Knaller.
Schönes Wochenende.
Wolfgang
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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