Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bild laden über Active X Steuerelement

Forumthread: Bild laden über Active X Steuerelement

Bild laden über Active X Steuerelement
08.02.2013 12:06:33
Matze
Hallo an die Experten
ich habe eine Tabellenblatt, wo sich beim ändern einer bestimmte Zelle jeweils 3 verschieden Bild geladen wird. Ich nutze dafür das Active X Bildsteuerelemt. Diese Macro geht auch soweit. Ich habe aber ein Problem wenn das Bild nicht vorhanden ist. Ich bin von der Idee ausgegangen, wenn kein Bild gefunden wird, entsteht ja ein Fehler. Den Fehler habe ich genutzt und eine Schleife programmiert, wenn ein Fehler auftritt, dann lade ein anderes Bild. Grundsätzlich geht dieses auch. Nur die Abbildung ist nicht immer richtig. Ich lade immer 3 Bilder hintereinandern. Fehlt das 1. Bild und die anderen 2 Bilder sind vorhanden, dann sehe ich das 1. Bild richtig, aber die anderen Bilder werden mit den korrekt angezeigt. Es wird das Bild gezeigt, was entstehen würde, wenn das Bild nicht vorhanden ist.
Hier mein Code:
Private Sub Worksheet_Change(ByVal Target As Range)
' bilder laden
On Error Resume Next
'Wert aus DropDown in Variable BrickID schreiben
BrickID = Range("A3").Value
'Bild Laden
Bild.Picture = LoadPicture(ThisWorkbook.Path & "\Bilder_neu\" & BrickID & "_screenshot.jpg")
If Err.Number 0 Then ActiveSheet.Bild.Picture = LoadPicture(ThisWorkbook.Path & "\Bilder_neu\00-00.jpg")
CB.Picture = LoadPicture(ThisWorkbook.Path & "\Bilder_neu\" & BrickID & "_cb.jpg")
If Err.Number 0 Then ActiveSheet.CB.Picture = LoadPicture(ThisWorkbook.Path & "\Bilder_neu\00-00.jpg")
Position.Picture = LoadPicture(ThisWorkbook.Path & "\Bilder_neu\" & BrickID & "_position.jpg")
If Err.Number 0 Then ActiveSheet.Position.Picture = LoadPicture(ThisWorkbook.Path & "\Bilder_neu\00-00.jpg")
Wenn einer mich verstanden hat, würde ich mich über eine Antwort freuen.
Danke
Matthias

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild laden über Active X Steuerelement
09.02.2013 02:38:08
fcs
Hallo Mathias,
du musst nach dem Auftreten eines Fehlers den Fehler wieder zurücksetzen.
Außerdem solltest du die Adresse der geänderten Zelle prüfen, um das laden der nur Bilder zu starten, wenn der Wert in A3 geändert wird. Sonst werden die Bilder bei jeder Eingabe in der Tabelle neu geladen.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim BrickID As String, strPathBild As String
' bilder laden
On Error Resume Next
Select Case Target.Address
Case "$A$3"
'Wert aus DropDown in Variable BrickID schreiben
BrickID = Range("A3").Value
strPathBild = ThisWorkbook.Path & "\Bilder_neu\"
'Bild Laden
Bild.Picture = LoadPicture(strPathBild & BrickID & "_screenshot.jpg")
If Err.Number  0 Then _
Bild.Picture = LoadPicture(strPathBild & "00-00.jpg"): Err.Clear
CB.Picture = LoadPicture(strPathBild & BrickID & "_cb.jpg")
If Err.Number  0 Then _
CB.Picture = LoadPicture(strPathBild & "00-00.jpg"): Err.Clear
Position.Picture = LoadPicture(strPathBild & BrickID & "_position.jpg")
If Err.Number  0 Then _
Position.Picture = LoadPicture(strPathBild & "00-00.jpg"): Err.Clear
End Select
End Sub

Anzeige
AW: Bild laden über Active X Steuerelement
11.02.2013 09:10:25
Matze
Hallo Franz
danke für die tollen Tipps. Es funktioniert einfach super. Dieses Forum bleibt einfach das Beste.
Danke
Matthias
;
Anzeige
Anzeige

Infobox / Tutorial

Bilder über Active X Steuerelement in Excel laden


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, in der du das Active X Steuerelement verwenden möchtest.

  2. Aktiviere den Entwicklermodus: Gehe zu "Datei" > "Optionen" > "Menüband anpassen" und aktiviere den Entwicklermodus.

  3. Füge ein Active X Bildsteuerelement hinzu: Klicke auf "Entwicklertools" und wähle "Einfügen". Wähle das "Image"-Steuerelement aus und platziere es auf deinem Arbeitsblatt.

  4. Öffne den VBA-Editor: Klicke mit der rechten Maustaste auf das Arbeitsblatt, wähle "Code anzeigen" und füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim BrickID As String, strPathBild As String
       On Error Resume Next
       Select Case Target.Address
           Case "$A$3"
               BrickID = Range("A3").Value
               strPathBild = ThisWorkbook.Path & "\Bilder_neu\"
               Bild.Picture = LoadPicture(strPathBild & BrickID & "_screenshot.jpg")
               If Err.Number <> 0 Then Bild.Picture = LoadPicture(strPathBild & "00-00.jpg"): Err.Clear
               CB.Picture = LoadPicture(strPathBild & BrickID & "_cb.jpg")
               If Err.Number <> 0 Then CB.Picture = LoadPicture(strPathBild & "00-00.jpg"): Err.Clear
               Position.Picture = LoadPicture(strPathBild & BrickID & "_position.jpg")
               If Err.Number <> 0 Then Position.Picture = LoadPicture(strPathBild & "00-00.jpg"): Err.Clear
       End Select
    End Sub
  5. Teste die Funktionalität, indem du den Wert in Zelle A3 änderst. Die Bilder sollten entsprechend geladen werden.


Häufige Fehler und Lösungen

  • Fehler beim Laden von Bildern: Wenn ein Bild nicht gefunden wird, kann es zu einem Fehler kommen. Stelle sicher, dass der Pfad zu den Bildern korrekt ist und die Bilddateien vorhanden sind.
  • Bilder werden nicht angezeigt: Prüfe, ob das Active X Steuerelement korrekt platziert und konfiguriert ist.
  • Fehlernummer bleibt bestehen: Vergiss nicht, Err.Clear nach jedem LoadPicture aufzurufen, um den Fehler zurückzusetzen.

Alternative Methoden

Wenn du Probleme mit dem Active X Steuerelement hast, kannst du auch die Formel =BILD() verwenden, um Bilder in Excel anzuzeigen. Dies ist eine einfache Möglichkeit, Bilder dynamisch in Zellen zu laden, jedoch bietet es nicht die Flexibilität eines Active X Steuerelements.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Active X Steuerelement einsetzen kannst:

  1. Bilder für Produktkataloge: Lade unterschiedliche Produktbilder abhängig von der Auswahl in einer Dropdown-Liste.
  2. Dynamische Berichte: Zeige Unternehmenslogos oder Diagramme basierend auf Benutzereingaben an.
  3. Bildwechsel bei Auswahl: Verwende die Auswahl in einer Zelle, um zwischen verschiedenen Bildern zu wechseln, z.B. für eine Portfolio-Präsentation.

Tipps für Profis

  • Verwende klare Dateinamen: Achte darauf, dass die Bilder gut benannt sind, um Verwirrung bei der Zuordnung zu vermeiden.
  • Optimierung der Bildgrößen: Reduziere die Bildgrößen (z.B. JPEG-Format), um die Ladezeiten zu minimieren.
  • Fehlerprotokollierung: Füge eine Fehlerprotokollierung hinzu, um Probleme beim Laden der Bilder besser nachvollziehen zu können.

FAQ: Häufige Fragen

1. Welche Excel-Version benötige ich für Active X Steuerelemente? Active X Steuerelemente sind in Excel 2007 und neueren Versionen verfügbar. Stelle sicher, dass du eine kompatible Version verwendest.

2. Was passiert, wenn das Bild nicht gefunden wird? Wenn das Bild nicht vorhanden ist, wird ein Fehler ausgelöst. Du kannst diesen Fehler durch On Error Resume Next abfangen und ein Standardbild laden.

3. Wie kann ich die Größe der geladenen Bilder anpassen? Du kannst die Eigenschaften des Active X Bildsteuerelements anpassen, um die Größe der angezeigten Bilder zu steuern. Stelle sicher, dass die Bildgröße den Abmessungen des Steuerelements entspricht.

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