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

Bilder per CommandButton ein- / ausblenden

Forumthread: Bilder per CommandButton ein- / ausblenden

Bilder per CommandButton ein- / ausblenden
Exhi
Hallo zusammen
Ausgangslage:
Ich möchte eine Materialliste erstellen, pro Zeile ein Artikel...
in der Spalte A müsste die Artikelnummer sein z. B. 1-100
in der Spalte B jeweils ein Button mit dem ich das Bild vom Artikel nach Bedarf ein-/ausblenden könnte.
Die Liste müsste auch per mail verschickt werden können (Bilder in Tabelle einbetten)
Für eine Zeile habe ich es noch so gerade zustande gebracht :-(
Private Sub CommandButton1_Click()
Image1.Visible = Not Image1.Visible
End Sub
Ich möchte diese Funktion aber z. B. auf 100 Zeilen und beliebig ergänzen können.
bin froh um jede Hilfe aber z. B. auf 100 Zeilen und beliebig ergänzen können
Anzeige
AW: Bilder per CommandButton ein- / ausblenden
30.09.2010 12:05:38
Tino
Hallo,
hier ein Beispiel.
Die Bilder liegen auf der Tabelle2.
Die Optionsfelder beziehen sich auf die Tabelle2 A1
Mit dem Namen Bild verweise ich auf die entsprechende Zelle mit dem Bild
die die Nummer aus A1 in Spalte 1 hat.
Diesen Namen Bild habe ich dem Image auf der Tabelle1 zugewiesen,
in der Bearbeitungsleiste einfach =Bild eingeben.
Die entsprechende Zelle und deren Inhalt wird nun als Bild im Image angezeigt.
https://www.herber.de/bbs/user/71713.xls
Gruß Tino
Anzeige
AW: Bilder per CommandButton ein- / ausblenden
30.09.2010 14:30:11
Exhi
Hallo Tino
erstmal vielen Dank für die prompte Antwort und Dein Beispiel
Meine Idee war eigentlich, dass ich das Bild über eine Bild-Control einbette und dieses anschliessend auf den Commandobutton verweise (mit dem angegebenen Code)
Absicht:
Button 1, schaltet Image 1
Button 2, schaltet Image 2
Button 3, ...
um einen neuen Artikel hinzuzufügen kopiere ich zurZeit diesen Code und passe immer die Nummerierung an. Kann man diesen Schritt umgehen?
Anzeige
lade ein Bsp. oT.
01.10.2010 08:54:51
Tino
AW: Bilder per CommandButton ein- / ausblenden
01.10.2010 10:02:56
Tino
Hallo,
ok wie Du es für richtig hältst, sollte ich es richtig verstanden haben.
Hier eine Version, die Image müssen aber zur Zeile wo der Button ist den entsprechenden Namen haben.
Zeile 11 = Image1
Zeile 12 = Image2
Zeile 13 = Image3
usw…
Die Button müssen sich innerhalb der Zeile befinden mit der oberen linken ecke.
https://www.herber.de/bbs/user/71725.xlsm
Gruß Tino
Anzeige
AW: Bilder per CommandButton ein- / ausblenden
01.10.2010 11:11:23
Exhi
Hallo Tino
Du hast es richtig verstanden!
Vielen vielen Dank!
Daumen gegen oben :-))))
perfekt :-)
Gruss
Exhi
AW: Bilder per CommandButton ein- / ausblenden
01.10.2010 13:22:23
Exhi
wenn man die Finger bekommt, will man die ganze Hand :-)
Ist es möglich den Code so anzupassen, dass immer nur eine Schaltfläche aktiv ist?
oder
1 Button erstellen, der alle auf einen klick aktivieren- / deaktivieren kann
lg
Anzeige
AW: Bilder per CommandButton ein- / ausblenden
02.10.2010 13:15:10
Exhi
Tino, Du hast mir gerade einen riesen Dienst erwiesen.
genau so :-)
Vielen Dank!
Gruss Exhi
;
Anzeige
Anzeige

Infobox / Tutorial

Bilder per CommandButton ein- / ausblenden in Excel


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Tabelle: Erstelle eine Excel-Tabelle mit einer Materialliste. In Spalte A sollten die Artikelnummern stehen, z. B. 1-100. In Spalte B fügst Du einen CommandButton für jedes Bild hinzu.

  2. Hinzufügen der Bilder: Lege die Bilder in einer separaten Tabelle (z. B. Tabelle2) ab. Jedes Bild sollte in einer eigenen Zelle untergebracht werden.

  3. Einfügen des CommandButtons: Füge einen CommandButton über die Entwicklertools in Excel ein. Du kannst dies tun, indem Du auf "Einfügen" klickst und dann "CommandButton" auswählst.

  4. VBA-Code einfügen: Klicke mit der rechten Maustaste auf den CommandButton und wähle „Code anzeigen“. Füge den folgenden Code ein:

    Private Sub CommandButton1_Click()
       Image1.Visible = Not Image1.Visible
    End Sub

    Achte darauf, dass der Name des Bildes (z. B. Image1) dem Namen des Bildes in der Tabelle entspricht.

  5. Code anpassen: Um die Funktion für mehrere Zeilen zu erweitern, musst Du sicherstellen, dass die Bilder in der richtigen Reihenfolge benannt sind (z. B. Image1, Image2, Image3 usw.) und die Buttons in den entsprechenden Zeilen platziert sind.

  6. Testen: Speichere die Datei und teste die Funktionalität, indem Du auf die CommandButtons klickst, um die Bilder ein- und auszublenden.


Häufige Fehler und Lösungen

  • Fehler: Bild wird nicht angezeigt
    Lösung: Überprüfe, ob der Name des Bildes im Code korrekt mit dem Namen auf dem Arbeitsblatt übereinstimmt.

  • Fehler: Button funktioniert nicht für mehrere Zeilen
    Lösung: Stelle sicher, dass jeder Button den richtigen VBA-Code hat und die Bilder entsprechend benannt sind.

  • Fehler: Bilder verschwinden nicht
    Lösung: Vergewissere Dich, dass der Visible-Status korrekt umgeschaltet wird. Teste den Code in der Debug-Ansicht.


Alternative Methoden

  • Verwendung von Optionsfeldern: Statt CommandButtons kannst Du auch Optionsfelder verwenden, um die Bilder je nach Auswahl anzuzeigen oder auszublenden. Dies erfordert eine andere Logik im VBA-Code.

  • Ein einziger Button: Du kannst einen einzigen Button erstellen, der alle Bilder auf einmal ein- oder ausblendet. Der Code könnte folgendermaßen aussehen:

    Private Sub CommandButtonAll_Click()
       Dim img As Object
       For Each img In Me.Controls
           If TypeOf img Is MSForms.Image Then
               img.Visible = Not img.Visible
           End If
       Next img
    End Sub

Praktische Beispiele

  • Beispiel 1: Du hast eine Materialliste mit 100 Artikeln. Platziere 100 CommandButtons in Spalte B. Benenne die Bilder in Tabelle2 entsprechend (Image1, Image2, ...). Jeder Button sollte den passenden VBA-Code besitzen.

  • Beispiel 2: Erstelle ein Dropdown-Menü, aus dem der Benutzer einen Artikel auswählen kann. Verknüpfe dieses Dropdown mit dem entsprechenden Bild, sodass es bei Auswahl angezeigt wird.


Tipps für Profis

  • Dynamische Benennung: Verwende eine dynamische Benennung der Bilder in deinem VBA-Code, um Codezeilen zu vermeiden. Du könntest z. B. die Zeilennummer zur Namensgebung verwenden.

  • Fehlerbehandlung einfügen: Implementiere grundlegende Fehlerbehandlungen in Deinem Code, um unerwartete Fehler abzufangen und die Benutzererfahrung zu verbessern.

  • Bilder komprimieren: Achte darauf, dass die Bilder in der Excel-Tabelle nicht zu groß sind, um die Datei nicht unnötig zu vergrößern.


FAQ: Häufige Fragen

1. Wie kann ich die Bilder in Excel einbetten?
Du kannst Bilder in Excel einfügen, indem Du die Bilder in die Zellen der Tabelle einfügst und ihnen Namen zuweist.

2. Funktioniert das auch in Excel Online?
Die beschriebenen VBA-Funktionen sind nur in der Desktop-Version von Excel verfügbar. Excel Online unterstützt keine VBA-Skripte.

3. Wie kann ich die Bilder per E-Mail versenden?
Um die Bilder per E-Mail zu versenden, kannst Du die Datei speichern und die Bilder in der Tabelle einbetten, bevor Du sie versendest.

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