PDA

Vollständige Version anzeigen : Bild wechseln über Dropdown Auswahlmenü


siemek
26.06.2014, 10:15
Hallo zusammen,

ich Plane in einer Excel Datei ein Dropdown Menü mit zunächst 2 Auswahlmöglichkeiten zu erstellen. Je nach ausgewähltem Punkt im Dropdown Menü soll ein anderes, vorher definiertes Bild erscheinen. Die Bilder sind alle gleich groß und sollen immer an der gleichen stelle erscheinen.

Ich stelle mir das in etwa so vor: (umgangsprache)

If dropdown=1
insert picture 1
Else
If dropdown=2
insert picture 2
end

Leider fehlt mir das nötige KnowHow in der VBA-Sprache, kenne mich nur mit Delphi und Java aus.

Vielen Dank im Voraus!

Viele Grüße

Alex

Beverly
26.06.2014, 10:16
Hi Alex,

befinden sich die Bilder in einem Verzeichnis auf der Festplatte oder bereits in der Arbeitsmappe?

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

siemek
26.06.2014, 10:19
Hallo Beverly,

die Bilder befinden sich auf der Festplatte, wenn es eine Möglichkeit gibt die Bilder "Unsichtbar" in der Excel Datei zu implementieren, solange bis etwas im Dropdownmenü ausgewählt wird, wäre mir das sogar recht.

Viele Grüße

Alex

Mc Santa
26.06.2014, 10:20
Hallo,

das ist die mit Abstand beste Erlärung dazu, wenn es um eine Auswahlliste auf dem Tabellenblatt geht:
http://www.at-exceltraining.de/index.php/fragen-a-anworten-zu-excel/47/222-bilderauswahl-per-gueltigkeitsliste.html

Hilft dir das weiter?
VG

Beverly
26.06.2014, 10:29
Hi Alex,

lege beide Bilder ins Tabellenblatt an die Stelle wo sie dann "erscheinen" sollen und blende sie aus. Ausblenden kannst du sie mit folgendem Code:

Sub Ausblenden()
ActiveSheet.Shapes(1).Visible = False
ActiveSheet.Shapes(2).Visible = False
End Sub


Für das Einblenden in Abhängigkeit von der Auswahl dim DropDown benutzt du dann das Worksheet_Change Ereignis (nach diesem Prinzip):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
ActiveSheet.Shapes(1).Visible = Target = 1
ActiveSheet.Shapes(2).Visible = Target = 2
End If
End Sub


<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

siemek
26.06.2014, 11:00
Hallo Beverly,

vielen Dank für deinen Code. Ich werde ihn auch mal testen.

Die Beschreibung von Mc Santa ist absolut genial! Ist im nu implementiert gewesen und funktioniert tadellos.


Nochmal vielen vielen Dank für die schnelle und kompetente Hilfe!

Viele Grüße

Alex

Beverly
26.06.2014, 11:22
Hi Alex,

das geht auch, ohne dass man erst die Kamerfunktion ins Menüband einbinden muss - einfach nur eine Zelle koperen, als verknüpfte Grafik einfügen und dieser dann den definierten Namen zuweisen.

In den Excel-Versionen vor 2007 konnte man übrigens anstelle einer verknüpfen Grafik das Bildsteuerelement (Image) aus den ActiveX-Steuerelementen verwenden.



<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>