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

variables Bild in UserForm

Forumthread: variables Bild in UserForm

variables Bild in UserForm
02.09.2003 20:29:44
Udo
Hallo,

Ich hab folgendes Problem:
in meiner UserForm habe ich ein Bild eingefügt. Nun möchte ich es, je nach Auswahl in einer ComboBox, automatisch ändern lassen.
Mein Code verlangt immer ein "Object".
Was mache ich falsch?

Hier mein bisheriger Code:

'ActiveCell.Offset(0, 6) = Name der Bilddatei
'ActiveCell.Offset(0, 7) = kompletter Pfad der Bilddatei

If ActiveCell.Offset(0, 6) <> "" Then Image1.Picture = (ActiveCell.Offset(0, 7).Value & ActiveCell.Offset(0, 6).Value)

Bin für jede hilfe dankbar.

Gruß
Udo
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variables Bild in UserForm
02.09.2003 20:32:38
Hajo_Zi
Hallo Udo

ich vermute mal der Befehl is falsch

Image1.Picture = LoadPicture("D:\Eigene Dateien\Eigene Bilder\Bilder\0001-1000\" & ListBox1.Value)

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.
Anzeige
Danke
02.09.2003 21:17:53
Udo
Hallo Hajo,

das funktioniert. Vielen Dank.

Gruß
Udo

If ActiveCell.Offset(0, 6) <> "" Then Image1.Picture = LoadPicture(ActiveCell.Offset(0, 7).Value & ActiveCell.Offset(0, 6).Value)
Danke für die Rückmeldung oT
02.09.2003 21:18:25
Hajo_Zi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dynamisches Bild in UserForm mit Excel VBA


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen: Öffne Excel und gehe in den VBA-Editor (Alt + F11). Erstelle eine neue UserForm, indem du im Projektfenster mit der rechten Maustaste klickst und "UserForm einfügen" wählst.

  2. ComboBox und Image hinzufügen: Füge eine ComboBox (z.B. ComboBox1) und ein Image-Control (z.B. Image1) zur UserForm hinzu. Die ComboBox wird verwendet, um die Bilder auszuwählen.

  3. Bildpfade definieren: In deinem Excel-Arbeitsblatt solltest du die Namen der Bilddateien und deren vollständige Pfade in zwei Spalten anlegen. Zum Beispiel:

    • Spalte A: Bildname (z.B. bild1.jpg)
    • Spalte B: Bildpfad (z.B. D:\Eigene Dateien\Eigene Bilder\Bilder\)
  4. Code einfügen: Doppelklicke auf die ComboBox in der UserForm, um das Codefenster zu öffnen. Füge den folgenden Code ein:

    Private Sub ComboBox1_Change()
       Dim bildname As String
       Dim bildpfad As String
    
       bildname = ComboBox1.Value
       bildpfad = ActiveSheet.Cells(ActiveCell.Row, 7).Value ' Pfad aus Spalte G (7. Spalte)
    
       If bildname <> "" Then
           Image1.Picture = LoadPicture(bildpfad & bildname)
       End If
    End Sub
  5. ComboBox mit Bildern füllen: Füge im UserForm-Init-Event Code hinzu, um die ComboBox mit den Bildnamen zu füllen:

    Private Sub UserForm_Initialize()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("DeinSheetName") ' Ersetze mit dem Namen deines Blattes
    
       Dim i As Integer
       For i = 1 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
           ComboBox1.AddItem ws.Cells(i, 1).Value ' Bildnamen in ComboBox hinzufügen
       Next i
    End Sub

Häufige Fehler und Lösungen

  • Fehler: "Object required": Dieser Fehler tritt auf, wenn Excel das Bild nicht laden kann. Stelle sicher, dass der Pfad und der Dateiname korrekt sind. Überprüfe auch, ob die Bilddatei vorhanden ist.

  • ComboBox nicht gefüllt: Wenn die ComboBox leer bleibt, überprüfe, ob der richtige Arbeitsblattname festgelegt ist und ob die Daten in der ersten Spalte vorhanden sind.


Alternative Methoden

Eine alternative Methode, um Bilder in einer UserForm anzuzeigen, ist die Verwendung von Image-Steuerelementen, die nicht über die ComboBox gesteuert werden. Du kannst diese direkt in der UserForm anordnen und über Schaltflächen steuern.


Praktische Beispiele

Wenn du eine UserForm mit mehreren Bildern erstellen möchtest, kannst du die oben beschriebenen Schritte wiederholen und die ComboBox entsprechend anpassen. Hier ein Beispiel, wie du die Bilder von verschiedenen Kategorien laden kannst.


Tipps für Profis

  • Verwende relative Pfade, um sicherzustellen, dass dein VBA-Code portabel ist.
  • Teste deine UserForm regelmäßig, um sicherzustellen, dass alle Bilder korrekt geladen werden.
  • Optimiere deine Bilder, um die Ladezeiten in der UserForm zu verbessern.

FAQ: Häufige Fragen

1. Warum wird das Bild nicht angezeigt?
Stelle sicher, dass der Pfad zur Bilddatei korrekt ist und dass die Datei existiert. Überprüfe auch die Zugriffsrechte auf die Datei.

2. Kann ich auch andere Bildformate verwenden?
Ja, die LoadPicture-Funktion unterstützt verschiedene Bildformate wie BMP, JPG und GIF. Achte darauf, dass das Bildformat von Excel unterstützt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige