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

bild in image laden

Forumthread: bild in image laden

bild in image laden
13.01.2008 12:49:00
HOLGER
Hallo Ihr,
ich mal wieder. Ich versuche ein Bild in ein Image einer UF zuladen was ich zuvor abgespeichert habe.
Habe es mal so probiert aber irgendwie funtzt das nicht.
Dim bewBild
Dim bewBildPfad As String
Dim BewBildName As String
BewBildName = wksbew_dat.Cells(loZeileName, 96)
bewBildPfad = Sheets("Daten").Range("J4").Text
bewBild = Application.GetOpenFilename(bewBildPfad, BewBildName)
Me.Image2.Picture = bewBild
Hat da jemend ne Idee zu?
Dank und Gruß
Holger

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bild in image laden
13.01.2008 13:08:00
Hajo_Zi
Hallo Holger,
Image1.Picture = LoadPicture("O:\Bilder\0001-1000\D00001.jpg")

AW: bild in image laden
13.01.2008 13:14:00
HOLGER
Hallo Hajo,
danke für deine Antwort, ich habe vergessen zu sagen das ich in die UF unterschiedliche Daten lade und speichere so kann bei der abfrage der "loZeileName, 96" ein ganz anderer Datensatz gemeint, mit einem anderen BIld, was aber zuvor in dem Ordner abgespeichert wurde "bewBildPfad".
Hoffentlich habe ich mich jetzt besser ausgedrückt, sonst sorry
Gruß
Holger

Anzeige
AW: bild in image laden
13.01.2008 13:56:00
Hajo_Zi
Hallo Holger,
Nein
Gruß Hajo

AW: bild in image laden
13.01.2008 14:11:07
HOLGER
SChade, versuch nochmal die Erklärung.
In die UF möchte ich in Image2 ein Bild laden, das zuvor in Ordner "E:\Meine\bilder" gespeichert wurde. Der Name des Bildes "Nachname, VornameDatum" (Meiser, Hans13.01.2008) wird beim speichern, als Text in eine Tabelle geschrieben (wksbew_dat.Cells(loZeileName, 96 (ist die abfrage des zugehörigen Makros)).
Wenn ich jetzt in die UF den Datensatz von Meiser,Hans aufrufe, möchte ich das Bild aus dem Ordner wieder "reloaden".
Das habe ich halt mit dem Code versucht aber es funtzt so nicht.
Dim bewBild
Dim bewBildPfad As String
Dim BewBildName As String
BewBildName = wksbew_dat.Cells(loZeileName, 96)
bewBildPfad = Sheets("Daten").Range("J4").Text
bewBild = Application.GetOpenFilename(bewBildPfad, BewBildName)
Me.Image2.Picture = bewBild
Vielleicht kriegt jetzt ja jemand den durchblick
Danke und Gruß Holger

Anzeige
AW: bild in image laden
13.01.2008 14:18:47
Hajo_Zi
Hallo Hilger,
wenn ich Deinen Code richtig interpretiere wählt Du das Bild erst aus in einem Dialog.
Schreibe in meiner Code Zeile statt meinen bildes einschl. Ordner bewBild oder Siehe Dir meine Zeile nochmal an wie ich das Bild lade und Du dann wird Dir der Unterschied auffallen.
Gruß Hajo

Anzeige
AW: bild in image laden
13.01.2008 14:32:24
Sonnenpeter
Hallo,
Probier mal
Me.Image2.Picture = LoadPicture(bewBild)
Sofern der Pfad in Sheets("Daten").Range("J4").Text hinterlegt ist sollte es funktionieren.
Bin da aber auch nicht der Spezialist! deshalb weiter auf offen.
Gruß Sonnenpeter

AW: bild in image laden
13.01.2008 19:58:49
holger
Hallo,
erstmal Danke dasihrmir soviel zeit schenkt. Habe den Code jetzt verstanden und eingesetzt. Obwohl Pfad und Bild name richtig erfasst werden, zeigt er mir bei ´bewBild = "Fehler 2015"
Wie kann das und was ist falsch?
hier nochmal der geänderte Sub
On Error GoTo sprungmarke1
Dim bewBild As Variant
Dim bewBildPfad As String
Dim BewBildName As String
If wksbew_dat.Cells(loZeileName, 96) = "" Then GoTo sprungmarke1
BewBildName = wksbew_dat.Cells(loZeileName, 96)
bewBildPfad = ThisWorkbook.Sheets("Daten").Range("J4").Text
bewBild = Application.GetOpenFilename(bewBildPfad, BewBildName)
Me.Image2.Picture = LoadPicture(bewBild)
Bin etwas überfordert
DANKE an Alle

Anzeige
nimm erstmal On Error wieder raus !
13.01.2008 20:28:35
Matthias
Hallo Holger
Lass als erstes mal das On Error weg, dann siehst Du wenigstens, ob ein Fehler vorliegt.
Keiner weiß, was nach Sprungmarke1: steht
Du postest ja nicht den kompletten Code, sondern nur einen Teil.
Wenn Dein Code dann funktioniert, kann man das On Error ja wieder einbauen.
Lad doch mal eine Beispielmappe hoch, das ist dann für alle einfacher.
Userbild

Anzeige
AW: nimm erstmal On Error wieder raus !
13.01.2008 20:43:55
holger
Hi Ihr,
hier eine Beispieldatei, mit der selben Fehlermeldung.
https://www.herber.de/bbs/user/48994.xls
DANKE EUCH ALLEN
Gruß
Holger

AW: Beispiel ...
13.01.2008 21:03:00
holger
Hi Matthias,
die Variante von Dir läuft und habe ich auch schon gemacht....aber leiderhabe ich nicht
"C:\Windows\Seifenblase.bmp" also Pfad und Picture Name in einem string stehen, sondern wie inmeinem Beispiel am zwei unterschiedlichenstellen....
Hast DU daaucheine IDEE?
Gruß Holger

Anzeige
FEHLER GEFUNDEN; FUNTZT JETZT
13.01.2008 21:39:00
holger
Habe den fehler gefunden
1. E:\Wundprogramm\Daten\pic\
fehlte der letzte \
2.Kockmeyer, Holger12.01.2008.jpg
fehlte das .jpg
jetzt isset so wie ichwollt
DANK AN ALLE
GRU? HOLGER

:o) ... na dann weiterhin viel Erfolg __ oT
14.01.2008 18:43:00
Matthias
;
Anzeige

Infobox / Tutorial

Bild in Image laden – So funktioniert's


Schritt-für-Schritt-Anleitung

Um ein Bild in ein Image-Control in einer UserForm (UF) in Excel VBA zu laden, folge diesen Schritten:

  1. Variablen deklarieren:

    Dim bewBild As String
    Dim bewBildPfad As String
    Dim BewBildName As String
  2. Bildnamen und Pfad festlegen:

    BewBildName = wksbew_dat.Cells(loZeileName, 96) ' Hier den Bildnamen aus der Tabelle nehmen
    bewBildPfad = ThisWorkbook.Sheets("Daten").Range("J4").Text ' Pfad zu den Bildern
  3. Bild laden:

    bewBild = bewBildPfad & "\" & BewBildName ' Pfad und Name kombinieren
    Me.Image2.Picture = LoadPicture(bewBild) ' Bild in Image-Control laden

Achte darauf, dass der Pfad und der Bildname korrekt sind. Du kannst auch die LoadPicture-Funktion verwenden, um das Bild direkt in das Control zu laden.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler und deren Lösungen:

  • Fehlermeldung "Fehler 2015":

    • Ursache: Der Pfad oder der Bildname ist nicht korrekt. Überprüfe, ob der Pfad in Sheets("Daten").Range("J4").Text korrekt ist und das Bild tatsächlich im angegebenen Verzeichnis existiert.
  • Bild wird nicht angezeigt:

    • Ursache: Falscher Dateiname oder fehlende Dateiendung (.jpg, .png, etc.). Achte darauf, dass der Name des Bildes vollständig ist.
  • Dialog zum Bildauswählen erscheint:

    • Lösung: Verwende direkt den Pfad zum Bild anstelle von Application.GetOpenFilename.

Alternative Methoden

Wenn du Schwierigkeiten hast, ein Bild über den Pfad zu laden, kannst du alternativ folgende Methoden ausprobieren:

  1. Mit Application.GetOpenFilename:

    • Damit kannst du den Benutzer manuell ein Bild auswählen lassen. Ersetze die Zeile mit LoadPicture durch:
      bewBild = Application.GetOpenFilename("Image Files (*.jpg; *.png), *.jpg; *.png")
      If bewBild <> "False" Then
      Me.Image2.Picture = LoadPicture(bewBild)
      End If
  2. Direktes Laden aus einer bestimmten Quelle:

    • Wenn du oft die gleichen Bilder lädst, könntest du eine Funktion erstellen, die den Bildnamen und Pfad als Parameter erhält und das Bild direkt lädt.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du Bilder in Excel VBA laden kannst:

  1. Laden eines Bildes mit festem Pfad:

    Me.Image2.Picture = LoadPicture("C:\Bilder\MeinBild.jpg")
  2. Laden eines Bildes basierend auf einer Zellreferenz:

    Dim Bildname As String
    Bildname = ThisWorkbook.Sheets("Daten").Range("A1").Value
    Me.Image2.Picture = LoadPicture("C:\Bilder\" & Bildname)

Tipps für Profis

  • Verwende On Error mit Bedacht: Setze On Error GoTo nur dort ein, wo du wirklich mit Fehlern rechnen musst. So kannst du besser debuggen, wenn etwas schiefgeht.

  • Überprüfe Dateitypen: Achte darauf, dass du die richtigen Dateiendungen verwendest. Manchmal kann das Fehlen einer Endung dazu führen, dass das Bild nicht geladen wird.

  • Verwende bruchrechnen excel: Wenn du mit Bildnamen arbeitest, die auch Zahlen enthalten, achte darauf, dass diese korrekt formatiert sind.


FAQ: Häufige Fragen

1. Frage: Wie kann ich sicherstellen, dass das Bild immer angezeigt wird? Antwort: Überprüfe, ob der Pfad und der Bildname korrekt sind. Stelle sicher, dass die Datei vorhanden ist und die Endung korrekt angegeben ist.

2. Frage: Was mache ich, wenn ich mehrere Bilder gleichzeitig laden möchte? Antwort: Du kannst eine Schleife verwenden, um die Bilder nacheinander zu laden, indem du die Bildnamen in einer Liste oder Tabelle speicherst.

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