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

Forumthread: Userform Image Bild laden

Userform Image Bild laden
Leitz
Hallo!
Habe die Vorstellung, dass ich in eine Userfor/Image Bilder laden will.
Haba aber keine Ahnung wie das gehen soll, z.B wo muß ich die Bilder speichern in einem Tabellenblatt ? und wie kann ich darauf zugreifen mit UserForm1.Image1.Picture =
Bitte um Hilfe
gruß
gerd
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Userform Image Bild laden
26.01.2012 14:23:01
fcs
Hallo Gerd,
die Grafiken müssen als separate Dateien in einem Verzeichnis mit Leseberechtigung gespeichert sein.
Die folgenden Grafikformate können in ein Userform-Image-Element geladen werden:
*.bmp, *.cur, *.gif, *.ico, *.jpg, *.wmf
Das Verzeichnis kann beliebig sein. Wenn möglich würde ich die Grafiken in ein Unterverzeichnis zur Exceldatei speichern.
Gruß
Franz
Code-Beispiel für Commandbutton in Userform mit Anzeige Dateiauswahldialog.
'Erstellt unter Windows Vista - Excel 2007
Private Sub cmbBildwaehlen_Click()
'CommandButton - Bild Auswählen
Dim strPfad As String
Dim varAuswahl As Variant
'Start-Verzeichnis für die ins Image zu ladenden Bildern
strPfad = ThisWorkbook.Path & Application.PathSeparator & "UF_Grafiken"
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte Bild für Userform auswählen"
.InitialFileName = strPfad & Application.PathSeparator
If .Show = -1 Then
varAuswahl = .SelectedItems(1)
Me.Image1.Picture = LoadPicture(varAuswahl)
Else
End If
End With
End Sub

Anzeige
AW: Userform Image Bild laden
26.01.2012 15:16:19
Leitz
Hallo!
Danke für die Hilfe!
Habe aber damit ein Problem, wie bringe ich die DialogBox weg.
Wenn das gesuchte bild nicht gefunden wird soll ein stndardbild verw. werden.
Sub BildwahlForm2()
Dim strPfad As String
Dim varAuswahl As Variant
'Start-Verzeichnis für die ins Image zu ladenden Bildern
strPfad = ThisWorkbook.Path & Application.PathSeparator & "Grafiken"
With Application.FileDialog(msoFileDialogOpen)
.Title = Form2
.InitialFileName = strPfad & Application.PathSeparator
If .Show = -1 Then
varAuswahl = .SelectedItems(1)
UserForm1.Image1.Picture = LoadPicture(varAuswahl)
Else
End If
End With
End Sub

Gruß
Gerd
Anzeige
AW: Userform Image Bild laden
26.01.2012 16:21:11
fcs
Hallo Gerd,
wenn du den Daeinamen anders auswählst/zuweist, dann muss es etwa so aussehen.
'Erstellt unter Windows Vista - Excel 2007
Sub BildwahlForm2()
Dim strPfad As String
Dim strDateiname As String
'Start-Verzeichnis für die ins Image zu ladenden Bildern
strPfad = ThisWorkbook.Path & Application.PathSeparator & "Grafiken"
'Dateiname einlesen (ohne Pfad) , aus Steuerelement oder sonstwoher
strDateiname = Form2    'Testzeile
strDateiname = strPfad & Application.PathSeparator & strDateiname
'Prüfen, ob Datei vorhanden
If Dir(strDateiname)  "" Then
Me.Image1.Picture = LoadPicture(strDateiname)
Else
Me.Image1.Picture = LoadPicture(strPfad  & Application.PathSeparator & "StandardBild.jpg")
End If
End Sub

Anzeige
AW: Userform Image Bild laden
27.01.2012 12:38:22
Leitz
Hallo!!
Herzlichen Dank! funktioniert super!
gruß
Gerd
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Userform Image in Excel laden


Schritt-für-Schritt-Anleitung

  1. Bilder speichern: Stelle sicher, dass die Bilder, die Du in die Userform laden möchtest, in einem Verzeichnis mit Leseberechtigung gespeichert sind. Ideal ist es, die Grafiken in ein Unterverzeichnis zu Deiner Excel-Datei zu legen, z.B. UF_Grafiken.

  2. Userform erstellen: Öffne den VBA-Editor (ALT + F11), erstelle eine neue Userform und füge ein Image-Steuerelement hinzu (z.B. Image1).

  3. Bilder laden: Verwende den folgenden VBA-Code, um ein Bild in die Userform zu laden:

    Private Sub cmbBildwaehlen_Click()
       Dim strPfad As String
       Dim varAuswahl As Variant
       strPfad = ThisWorkbook.Path & Application.PathSeparator & "UF_Grafiken"
       With Application.FileDialog(msoFileDialogOpen)
           .Title = "Bitte Bild für Userform auswählen"
           .InitialFileName = strPfad & Application.PathSeparator
           If .Show = -1 Then
               varAuswahl = .SelectedItems(1)
               Me.Image1.Picture = LoadPicture(varAuswahl)
           End If
       End With
    End Sub
  4. Standardbild verwenden: Wenn ein Bild nicht gefunden wird, kannst Du ein Standardbild anzeigen. Passe den Code wie folgt an:

    Sub BildwahlForm2()
       Dim strPfad As String
       Dim strDateiname As String
       strPfad = ThisWorkbook.Path & Application.PathSeparator & "Grafiken"
       strDateiname = strPfad & Application.PathSeparator & "deinBild.jpg" ' Name des Bildes
       If Dir(strDateiname) <> "" Then
           Me.Image1.Picture = LoadPicture(strDateiname)
       Else
           Me.Image1.Picture = LoadPicture(strPfad & Application.PathSeparator & "StandardBild.jpg")
       End If
    End Sub

Häufige Fehler und Lösungen

  • Bild nicht gefunden: Stelle sicher, dass der Dateiname und der Pfad korrekt sind. Überprüfe auch, ob die Datei im angegebenen Verzeichnis vorhanden ist.

  • Leseberechtigung: Achte darauf, dass das Verzeichnis, in dem die Bilder gespeichert sind, über die notwendigen Berechtigungen verfügt.

  • Falsches Bildformat: Die unterstützten Formate sind: .bmp, .cur, .gif, .ico, .jpg, .wmf. Stelle sicher, dass Dein Bild in einem dieser Formate vorliegt.


Alternative Methoden

  • Direktes Laden von Bildern: Statt über einen Dateidialog kannst Du auch den Pfad des Bildes direkt im Code angeben:

    Me.Image1.Picture = LoadPicture("C:\Pfad\zu\deinemBild.jpg")
  • Dynamisches Laden: Du kannst auch eine Dropdown-Liste in Deiner Userform verwenden, um zwischen mehreren Bildern auszuwählen und diese dynamisch zu laden.


Praktische Beispiele

  1. Bildwahl mit Schaltfläche: Verwende eine Schaltfläche (CommandButton), um den Benutzer ein Bild auswählen zu lassen.

  2. Bildvorschau: Zeige eine Bildvorschau in der Userform an, bevor das Bild endgültig geladen wird.

  3. VBA Userform Image: Nutze den UserForm_Image-Steuerelement, um Bilder in einer benutzerdefinierten Userform anzuzeigen und die Benutzererfahrung zu verbessern.


Tipps für Profis

  • Bildoptimierung: Achte darauf, dass die Bilder nicht zu groß sind, um die Ladezeiten der Userform zu minimieren.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass der Benutzer informiert wird, falls ein Bild nicht geladen werden kann.

  • ICO-Dateien: Wenn Du ICOs laden möchtest, stelle sicher, dass Du die richtige Methode verwendest, um sicherzustellen, dass das Bild korrekt angezeigt wird.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Bilder gleichzeitig laden?
Du kannst einen Loop verwenden, um durch eine Liste von Bilddateinamen zu iterieren und sie nacheinander in die Userform zu laden.

2. Was mache ich, wenn das Bild nicht angezeigt wird?
Überprüfe den Pfad und den Dateinamen auf mögliche Tippfehler und stelle sicher, dass das Bild im richtigen Format vorliegt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige