Excel - Bilder einfügen
Hallo Freaks.
Ich brauche bitte Eure Hilfe. Ich bin mit Excel zwar vertraut, aber kenn mich bei VBA überhaupt nicht aus.
Ich habe folgendes Problem zu lösen:
> Tabellenblatt A: Eingabe der Artikelnummer
> Tabellenblatt B: Tabelle mit Details zu den Artikeln; u.a. auch der Link zum dazugehörigen Artikel-Bild.
Ich möchte jetzt, sobald ich die Artikelnummer im Tabellenblatt A eingebe, dass daneben das dazugehörige Artikel-Bild ersichtlich ist.
Wie kann ich das machen ?
Danke für Eure Hilfe
Flops
Antwort schreiben
Antwort 1 von coros vom 09.01.2022, 08:23 Options
Hallo Flops,
schau mal auf
meiner HP in der
Rubrik Beispieldateien und dort dann in dem
Beispiel 36 (Nach Auswahl einer Bildnummer Bild einblenden) nach. Dort stelle ich dazu eine Beispieldatei zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Flops vom 09.01.2022, 11:29 Options
Hallo Oliver.
Du scheinst ja Excel in- und auswendig zu kennen.
Kompliment, was ich da alles auf Deiner HP gesehen habe.
Leider bin ich VBA eine totale Niete, d.h. ich kenne mich überhaupt nicht aus. Vielleicht kannst Du mir hier konkret weiterhelfen ?
Meine Excel-Datei sieht folgendermaßen aus:
> Tabellenblatt "Eingabe"; in der Zelle K6 wähle ich mit einem Drop-Down Menü die "Artikelbeschreibung";
> Tabellenblatt "Details"; in der Zelle B3 bis D38 habe ich die einzelnen Details;
davon in der Spalte B die "Artikelbeschreibung"
und in der Spalte D die Namen der Bilder z.B. L_ALG.BMP
Wie muss ich jetzt das VBA programmieren, dass ich
> sobald ich in der Zelle K6 die Artikelnummer eingeben
> das dazugehörige Bild zum Artikel in der Zelle W17 bekomme ?
Danke für Deine professionelle Hilfe
Flops
Antwort 4 von Flops vom 10.01.2022, 18:14 Options
Hallo.
Ja danke für den Tip.
Habe diese Seiten bereits unter die Lupe genommen.
Aber wie gesagt, ich kenne mich mit VBA überhaupt nicht aus und schaffe es ehrlich gesagt nicht, meine Notwendigkeit zu integrieren.
Kann mir ev. jemand von Euch bitte helfen ?
Danke für Eure Freundlichkeit
Flops
Antwort 5 von Hajo_Zi vom 10.01.2022, 18:18 Options
Hallo,
den Code hast Du Dir schon angesehen, der ist unter der Tabelle, rechte Maustaste auf das Register und Code anzeigen. Da sind auch Kommentare drin.
Falls Fragen Bitte das Beispiel angeben. Version wäre vielleicht auch nicht schlecht.
Gruß Hajo
Antwort 6 von Flops vom 10.01.2022, 18:24 Options
Ich benutzte Windows Vista mit Excel 2002.
Meine Excel-Datei sieht folgendermaßen aus:
> Tabellenblatt "Eingabe"; in der Zelle K6 wähle ich mit einem Drop-Down Menü die "Artikelbeschreibung";
> Tabellenblatt "Details"; in der Zelle B3 bis D38 habe ich die einzelnen Details;
davon in der Spalte B die "Artikelbeschreibung"
und in der Spalte D die Namen der Bilder z.B. L_ALG.BMP
Wie muss ich jetzt das VBA programmieren, dass ich
> sobald ich in der Zelle K6 die Artikelnummer eingeben
> das dazugehörige Bild zum Artikel in der Zelle W17 bekomme ?
Danke für Deine Hilfe
Flops
Antwort 7 von Hajo_Zi vom 10.01.2022, 18:48 Options
Hallo,
was das mit der Tabele 2 zu Tun hatr verstehe ich nicht. Du mußt nur die Zelladresse anpassen und das Offset, 0,12
Gruß Hajo
Antwort 8 von Flops vom 10.01.2022, 18:54 Options
Sorry Hajo.
Das ist für mich schon zu hoch. Wie gesagt, VBA sagt mir überhaupt nichts.
Grüsse Flops
Antwort 9 von Flops vom 10.01.2022, 19:19 Options
Hallo Hajo.
Vielleicht habe ich die falsche Beispieldatei.
Welche Datei sollte ich nehmen ? Die Beispiel-01 Datei ?
Danke für Deine Hilfe
Flops
Antwort 10 von Hajo_Zi vom 10.01.2022, 19:26 Options
Hallo,
Du willst ja nur ein Bild einfügen, da wäre die Datei 01 korrekt.
Zu Beginn ist die Zelle festgelegt und weiter unten steht das mit dem Offset (Target.Offset(0, 0)) Es wird davon ausgegangen das der Bildname in der Zelle ausgewählt wird. Der Ordner ist oben im Code festgelegt.
Der Bildname muss bei Dir beszimmt nicht übersetz werden also ändere die Zeile
StBild = StPfad & "D" & Format(Target.Value, "00000") & ".jpg"
in
StBild = StPfad & Target.Value & ".jpg"
Gruß Hajo
Antwort 11 von Flops vom 10.01.2022, 20:21 Options
Hallo Hajo.
Kannst Du mir ev. bitte einfach meine Zellen einfügen und mir das VBA schicken ?
Danke inzwischen
Flops
Antwort 12 von Hajo_Zi vom 10.01.2022, 21:33 Options
Hallo,
das dürfte doch nicht das Problem sein oben den Ordner zu ändern und die Zelle in der Mitte die eine Zeile zu ändern und zuim Offset habe ich auch schon was geschrieben.
Gruß Hajo
Antwort 13 von Flops vom 16.01.2022, 09:03 Options
Hallo Hajo.
Jetzt habe ich alles einigermaßen hinbekommen. Danke inzwischen.
Ich habe noch zwei Fragen:
1) derzeit funktioniert das "Bildeinfügen" nur dann, wenn ich in der entsprechenden Zelle den richtigen Bildnamen einfüge und die Entertaste drücke.
Es sollte aber so funktionieren, dass ich den Bildnamen von einer Tabelle übertragen bekommen und somit der Name mit der Funktion SVERWEIS eingetragen wird.
2. wenn ich mehrere Bilder einfügen möchte, die auch jeweils von einem anderen Eingabefeld den Namen bekommen, kann ich da einfach den Logarithmus untereinander anfügen ?
(hoffe dass ich mich einigermaßen verständlich gemacht habe);
Danke für Deine Hilfe
Flops
Antwort 14 von Hajo_Zi vom 16.01.2022, 09:09 Options
Hallo Flops,
zu 1 das habe ich noch nicht realisiert, das üste man wohl über Private Sub Worksheet_Calculate() realisieren. Was aber sehr aufwendig sein dürfte.
zu 2 dazu gibt es Beispiel auf meiner HP, aber auch nur für Eingaben.
Gruß Hajo
Antwort 15 von Flops vom 16.01.2022, 09:11 Options
Hallo Hajo.
Gibt es eine andere Lösung für meine Notwendigkeit im Excel ?
Danke für Deine Hilfe
Flops
Antwort 16 von Hajo_Zi vom 16.01.2022, 09:17 Options
Hallo Flops,
ist mir nicht bekannt.
Gruß Hajo
Antwort 17 von Flops vom 16.01.2022, 09:38 Options
Hallo Hajo.
Hättest Du ev. einen Lösungsvorschlag betreffend dem Einsatz von Private Sub Worksheet_Calculate() für mich ?
Danke für Deine Hilfe
Flops
Antwort 18 von Hajo_Zi vom 16.01.2022, 12:04 Options
Hallo Flops,
ich habe das noch nicht gemacht. ch könnte mir aber folgende Lösung Vorstellen. Du hast ein aray in dem Du die Adrsse schreibst die überwacht werden sollen und im zweiten Spalte den Bildnamen. Bei jeder Aktion vergleichst Du ob der Bildname anders ist als der gemerkte. Bei ja wird das alte Bild gelöscht und das neue eingefügt und auch der neue Bildname in das Array geschrieben. Bei Nein keine Aktion.
Ich bin jetzt nicht an meinem Homerechner und kann aus diesem grunde nichts erstellen.
Gruß Hajo
Antwort 19 von Hajo_Zi vom 16.01.2022, 21:27 Options
Hallo,
ich habe ein Beispiel auf meiner HP ergänzt. Link siehe oben.
Gruß Hajo
Antwort 20 von Flops vom 19.01.2022, 12:20 Options
Hallo Hajo.
Dankei für Deine Info.
Habe das Beispiel mir angesehen und getestet.
Wenn ich aber den Dateiname mit einem SVERWEIS Befehl von einer anderen Tabelle herhole, dann funktioniert das VBA nicht.
Oder mache ich etwas falsch ?
Danke für Deine Hilfe
Flops