16.11.2019, 19:48 (Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2019, 19:48 von Guru.)
Hallo zusammen,
ich möchte meiner Tochter ein kleines Excel Spiel zur Verfügung stellen. Für die meisten von euch sicher ganz einfach umzusetzen.
Es geht darum, dass ich verschiedene Schaltflächen habe und diese unterschiedlich benennen möchte: (Biene, Hund, Hase, etc.) Im grauen Feld (siehe Screenshot) soll dann das von mir bereitgestellte Bild auf C:\XXXXXX erscheinen.
Es wäre schön (wenn auch nicht zwingend) wenn der Platzhalter in dem das Bild erscheint eine fest vorgegebene Größe hat und sich das Bild dann dementsprechend anpasst. (Um halt die Schaltflächen etc. nicht zu überdecken.)
Klickt man dann ein anderes Tier an, sollte das vorherige Bild verschwinden / zeitgleich das neue Tier / Bild erscheinen.
Danke vorab für jeden Code/Hinweis/Hilfe.
VG
p.s. sollte das Thema in der falschen Themenbereicht erstellt worden sein, bitte ich um Nachsicht - unter "mit VBA" konnte ich kein Thema erstellen...
Nachtrag: auch wäre es toll, wenn der gedrückte Button / Schaltfläche dann auch umrandend ist, um die visuelle Verbindung zwischen Bild und Schaltfläche herzustellen. Also Schaltfläche "Biene" ist gedrückt --> es erscheint das Bild "Biene" --> gleichzeitig zieht man dass die Schalftfläche Biene aktiv ist. Entweder ist der Button dann andersfarbig und/oder umrandend.
Das Video hab ich in der Tat auch gesehen. Wahrscheinlich geht es in die richtige Richtigung, ich kann es nur nicht umsetzen. Hat mich beim ansenen (ohne Namensmanager) eher an S-Verweis erinnert.
Kann ich denn (und wie), nachdem ich alle Bilder in Zellen gepackt und mit Namen versehen habe diesen Namen einer Schalftfläche zuordnen?
Zitat:Kann ich denn (und wie), nachdem ich alle Bilder in Zellen gepackt und mit Namen versehen habe diesen Namen einer Schalftfläche zuordnen?
Wenn Du Deine Datei und die Bilder zur Verfügung stellst und es nicht so ganz schnell fertig sein muß, beispielsweise, weil Deine Tochter morgen Geburtstag hat oder so, dann würde ich das schon machen.
Zeit brauche ich, weil ich bald wieder im Krankenhaus liegen werde und darum gerade auch ein wenig mehr Zeit für mich selbst einplanen muß. Ein Hin- und Herschreiben im Forum wird dann auch nicht möglich sein. Darum würde ich Dir das, gesetzt den Fall, Du bist einverstanden, als Fertiglösung bieten.
Du mußt es aber auch nicht unbedingt mir überlassen. Im Forum gibt es genügend andere Helfer.
vielen Dank für Dein Angebot. Wirklich sehr nett von Dir. Ist überhaupt nicht eilig.
ABER (wie drück ich das aus ohne, dass es falsch verstanden wird:) Würde unter den Umständen (KKH / Gesundheit) Dir das "Projekt" ungern geben. Wünsche Dir schnelle Genesung und drücke Dir die Daumen - bin sicher, dass mir hier jemand der die Kapazität frei hat helfen kann.
17.11.2019, 08:09 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2019, 08:10 von schauan.)
Hallöchen,
hier mal ein Ansatz mit 2 Bildern und 2 Optionbuttons. Die Bilder fügst Du ein und passt die Größe an. Entweder benennst Du die Bilder nach dem Einfügen um oder du merkst Dir die Namen … Statt der Schaltflächen habe ich hier OptionButtons aus den Formularelementen. Optionbuttons auf einem Blatt haben den Vorteil, dass man sich keine Gedanken um die Darstellung machen muss, welcher gedrückt ist und welche nicht Grau sind die durch die Zellfarbe, über der sie liegen.
Hier mal der Code einzeln, die Mappe mit Code im Anhang.
Code:
Option Explicit
Sub Optionsfeld1_Klicken() test "Picture 2" End Sub Sub Optionsfeld2_Klicken() test "Picture 4" End Sub Sub test(strPic As String) Dim sh As Shape For Each sh In ActiveSheet.Shapes If sh.Type = msoPicture Then sh.Visible = sh.Name = strPic Next End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
17.11.2019, 11:12 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2019, 11:15 von Guru.)
Hallöchen,
das ist eine sehr schöne Umsetzung. Vielen Vielen Dank dafür.
Wenn ich es nun aber selbst versuche umzusetzen (zum Verständnis, und in einer eigenen Mappe mit kopierten Code) passiert: nichts.
Ich habe in Deinem Code "nur" die Schaltfläche ergänzt. Hintergrund ist, dass ich keine vernünftige Option gefunden habe das Optionsfeld in Schrift und Größe nach eigener Vorstellung anzupassen. Das habe ich dann in einer eigenen Mappe eingefügt --> eine Schaltfläche im Entwicklermodus erstellt und dieser mit Rechtsklick dann z.B. das Makro Schaltfläche1_Klicken zugewiesen. Wenn ich nun auf die Schaltfläche klicke, verschwindet das Bild
Die einzelnen Bilder heißen natürlich auch so: Hase Biene Pferd Igel
Was mache ich falsch :22:
Was bedeutet im Code "test"? Muss ich hier noch etwas ändern?
Code:
Option Explicit
Sub Schaltfläche1_Klicken() test "Hase" End Sub Sub Schaltfläche2_Klicken() test "Biene" End Sub Sub Schaltfläche3_Klicken() test "Pferd" End Sub Sub Schaltfläche4_Klicken() test "Igel" End Sub Sub test(strPic As String) Dim sh As Shape For Each sh In ActiveSheet.Shapes If sh.Type = msoPicture Then sh.Visible = sh.Name = strPic End If Next End Sub
(17.11.2019, 02:28)Käpt\n Blaubär schrieb: Hallo,
... macht ja nix. Auch ich will keine mit multiblen, multiresistenten Krankenhauskeimen verseuchten Programme.
Dann wünsche ich Dir mal gutes Gelingen.
Hallo,
ist wohl doch falsch angekommen oder ich verstehe es falsch.
Ich bin Dir für Dein Angebot sehr dankbar. Wollte damit nicht sagen, dass ich Dein Programm nicht will. Eher, dass ich Deine Zeit / Kraft nicht in Anspruch nehmen kann/will wenn Du sie für Dich selbst am Besten brauchen könntest.
17.11.2019, 12:29 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2019, 12:35 von schauan.)
Hallöchen,
die OptionButtons haben jeweils ein eigenes Makro, in welchem Du das Makro zum Ein- und Ausblenden startest. Selbiges heißt bei mir test, Du könntest auch im ganzen Modul das Wort test z.B. durch BildWechsel ersetzen. Ob Deine Bilder auch so heißen, siehst Du bei angeklicktem Bild oben links in dem kleinen Eingabefeld, wo sonst die Zelladressen stehen. Excel vergibt beim Einfügen von Bildern erst mal eigene Namen. Biene.png wurde dadurch z.B. zu Picture 2. Du müsstest das dann erst wieder umbenennen in Biene. Das Makro test blendet in einer Schleife alle Bilder aus bis auf z.B. "Biene" Und die heißt vielleicht nicht mehr so
Die OptionButtons brauchst Du nicht unbedingt direkt zu beschriften. Auch dafür könntest Du die Möglichkeiten der dahinter liegenden Zelle nutzen
Alternativ würden die OptionButtons aus ActiveX ein paar mehr Möglichkeiten bieten als die vom Formular.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
17.11.2019, 12:34 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2019, 12:36 von Käpt'n Blaubär.)
Hallo,
... ist wohl doch falsch angekommen oder ich verstehe es falsch.
... neee, es ist nicht falsch angekommen und ich bin Dir auch nicht böse oder sowas.
Ich habe mir inzwischen auch überlegt, daß ein junger Mensch wie Du es offenbar noch bist, vielleicht zwangsläufig auf den von Dir angedachten Gedankenweg kommen muß, auch wenn er noch so falsch ist :16: Im Krankenhaus verbringst Du nämlich 98% der Zeit nur mit stumpfsinnigen Warten. Sei es, daß Du auf den Beginn einer angesetzten Untersuchung wartest, oder auf das drei Mal täglich vorgesehene Abfüttern. Irgendwann hast Du genug Schlaf nachgeholt, langweilst Dich zu Tode und bist damit beschäftigt, darauf zu warten, daß es irgendwo juckt, damit Du einen Grund hast, Dich zu kratzen.
Fazit: Ich bin Dir keineswegs böse, daß Du Dich so entschieden hast.