Suchbegriff eingeben Bild & Beschreibung einfüge

Hallo und einen wunderschönen Guten Morgen an alle Excel/VBA Fachleute,

habe folgendes Problem: in einer Excel-Mappe habe ich zwei Tabellen ( Tabelle „suchen“ und Tabelle „Hallen“).
Ich möchte nun in „suchen“ Zelle B4 den Suchbegriff eingeben und beim verlassen der Zelle mit „Enter“ soll mir aus der Tab. „Hallen“ in Zelle D3 die Beschreibung der jeweiligen Halle eingefügt werden, unter der Beschreibung zur Halle soll mir dann das entsprechende Bild noch eingefügt werden (Bilder liegen in C:\Bilder\ Halle 1 bis Halle 20).
Das mit der Hallenbeschreibung habe ich über SVerweis hinbekommen, weiss aber nicht wie das mit dem Bilder einfügen funktioniert.

Bitte alle Excel/VBA Fachleute um Hilfe.

Gruß aus Bochum

Jürgen

Ich möchte nun in „suchen“ Zelle B4 den Suchbegriff eingeben
und beim verlassen der Zelle mit „Enter“ soll mir aus der Tab.
„Hallen“ in Zelle D3 die Beschreibung der jeweiligen Halle
eingefügt werden, unter der Beschreibung zur Halle soll mir
dann das entsprechende Bild noch eingefügt werden (Bilder
liegen in C:\Bilder\ Halle 1 bis Halle 20).

Hallo Jürgen,

zeichne mal ein Makro auf während du ein Bild mnauell einfügst und an die richtige Stelle bringst und die Größe anpasst.
Und, zeige mal die Sverweis-Formel.

Gruß
Reinhard

Hallo Reinhard,

freue mich über deine Reaktion.

hier der SVerweis: =WENN(B4="";"";SVERWEIS(B4;Hallen!$A$1:blush:B$26;2;FALSCH))

Damit hole ich mir die Beschreibung zu den einzelnen Hallen.

Das manuelle Makro für das einfügen des Bildes sieht so aus.

Sub Bildeinfuegen()

’ Bildeinfuegen Makro
’ Makro am 10.04.2009 von Jürgen aufgezeichnet

ActiveSheet.Pictures.Insert(„C:\Bilder\Halle 1.jpg“).Select
Selection.ShapeRange.ScaleWidth 1.61, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 1.61, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.IncrementLeft 241.5
Selection.ShapeRange.IncrementTop 348#
Range(„B4“).Select
End Sub

Wie schon im Artikel vorher beschrieben, möchte ich nun in dem Sheet „suchen“ in B4 den Suchbegriff eingeben und beim Verlassen mit Enter soll in D3 die Beschreibung und ab D25 das Bild zur passenden Halle (insgesamt 20 Hallen, Bilder im jpg Format) angezeigt werden.

Gruß

Jürgen

Hallo und Frohe Ostern an alle Excel/VBA Fachleute,
Hallo Reinhard,

hast du eventuell eine brauchbare Lösung für mein Problem.

Gruß aus Bochum

Jürgen

hast du eventuell eine brauchbare Lösung für mein Problem.

Hallo Jürgen,

ungetest,
Rechtsklick unten auf den Blattnamen von „Suchen“, Code anzeigen, dort den Code reinkopieren.

Private Sub Worksheet\_Change(ByVal Target As Range)
Dim Bild
If Target.Address "$B$4" Then Exit Sub
If Target.Value = "" Then Exit Sub
Range("D3").Value = Application.VLookup(Target.Value, Worksheets("Hallen").Range("A1:B26"), 2, 0)
Set Bild = ActiveSheet.Pictures.Insert("C:\Bilder\" & Range("D3").Value & ".jpg")
With Bild
 .TopLeftCell = Range("D25")
 .Width = 200
 .Height = 200
End With
End Sub

Gruß
Reinhard

Hallo Reinhard,

danke für deine schnelle Antwort.

Ich bekomme bei dem Code immer den Laufzeitfehler:

1004

Die Insert-Eigenschaft des Pictures-Objektes kann nicht zugeordnet werden.

Was kann das sein?

Gruß

Jürgen

Ich bekomme bei dem Code immer den Laufzeitfehler:
1004
Die Insert-Eigenschaft des Pictures-Objektes kann nicht
zugeordnet werden.

Hallo Jürgen,

dann ist der Pfad oder der Dateiname falsch.

In der Insert-Zeile ergibt
„C:\Bilder“ & Range(„D3“).Value & „.jpg“
„C:\Bilder\Halle 1.jpg“
wenn in D3 Halle 1 steht.

Ich habe jetzt getestet, der Code funktioniert, ein Fehler war noch drin, ändere die With-Schleife ab zu:

With Bild
 .Left = Range("D25").Left
 .Top = Range("D25").Top
 .Width = 200
 .Height = 200
End With

Gruß
Reinhard

Hallo Reinhard,

super, funktioniert jetzt alles Tadellos.

Eine Frage habe ich aber noch, wenn ich den Suchbegriff „Halle 1“ eingebe wird mir alles korrekt angezeigt. Gebe ich nun z. B. „Halle 20“ als Suchbegriff, wird mir das Bild der Halle 20 auf das von Halle 1
gelegt.
Gibt es eine möglichkeit das Bild vom Vorherigen Suchbegriff erst zu entfernen.

Gruß

Jürgen

Eine Frage habe ich aber noch, wenn ich den Suchbegriff „Halle
1“ eingebe wird mir alles korrekt angezeigt. Gebe ich nun z.
B. „Halle 20“ als Suchbegriff, wird mir das Bild der Halle 20
auf das von Halle 1
gelegt.

Hallo Jürgen,

probiers mal so:

Private Sub Worksheet\_Change(ByVal Target As Range)
Dim Bild
If Target.Address "$B$4" Then Exit Sub
For Each Bild In ActiveSheet.Shapes
 Bild.Delete
Next Bild
If Target.Value = "" Then Exit Sub
Range("D3").Value = Application.VLookup(Target.Value, Worksheets("Hallen").Range("A1:B26"), 2, 0)
Set Bild = ActiveSheet.Pictures.Insert("C:\Bilder\" & Range("D3").Value & ".jpg")
With Bild
 .Left = Range("D25").Left
 .Top = Range("D25").Top
 .Width = 200
 .Height = 200
End With
End Sub

Gruß
Reinhard

Hallo Reinhard,

wie immer, funktioniert jetzt alles Tadellos.

Danke für deine SUPER Lösung.

Ich wünsche DIR und alle Mitglieder noch ein Frohes Osterfest.

Jürgen

Diesen Artikel möchte ich hiermit als erledigt bezeichnen.