Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Imgages aus Userform mit Klick an aus

Imgages aus Userform mit Klick an aus
02.10.2020 16:18:40
Dieter(Drummer)
Guten Tag Spezialisten/-innen.
Aus einer Userform ("usf1" sind 20 Images, 10 Imgages "img1 bis imgNull", mit grauen Zahlen 1 bis 0 und unter des grauen, 10 Images mit roten Zahlen "img1a bis imgNulla"
Mit Klick z.B. auf graue Zahl 1 "img1" wird Image ausgeblendet und rote Zahl 1a "img1a" wird eingeblendet.
Dafür ist der Code hinterlegt. Dies habe ich mal für Zahl 1 und Zahl 2 gemacht.
Um das aber nicht für jede Zahl machen zu müssen, suche ich den Code, der diese Wechsel der Images kürzer und einfacher macht, da es sonst sehr viel Code ist.
Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)
Anbei Musterdatei und mein bisheriger Code: https://www.herber.de/bbs/user/140598.xlsm
  • 
    Private Sub img1_Click()
    usf1.img1.Visible = True
    If usf1.img1.Visible = False Then
    usf1.img1a.Visible = True
    Else
    usf1.img1.Visible = False
    usf1.img1a.Visible = True
    End If
    End Sub
    

    Private Sub img1a_Click()
    usf1.img1.Visible = True
    usf1.img1a.Visible = False
    End Sub
    

    Private Sub img2_Click()
    usf1.img2.Visible = True
    If usf1.img2.Visible = False Then
    usf1.img2a.Visible = True
    Else
    usf1.img2.Visible = False
    usf1.img2a.Visible = True
    End If
    End Sub
    

    Private Sub img2a_Click()
    usf1.img2.Visible = True
    usf1.img2a.Visible = False
    End Sub
    

  • 15
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 16:58:10
    Herbert_Grom
    Hallo Dieter,
    das geht auch kürzer: Vorher musst du allerdings das "img1a" auf "Visible = True" setzen.
    Private Sub img01_Click()
    usf1.img1a.ZOrder msoBringToFront
    End Sub
    Private Sub img1a_Click()
    usf1.img01.ZOrder msoBringToFront
    End Sub
    Private Sub img2_Click()
    usf1.img2a.ZOrder msoBringToFront
    End Sub
    Private Sub img2a_Click()
    usf1.img2.ZOrder msoBringToFront
    End Sub
    
    Servus
    AW: Danke Herbert, da werde ich ...
    02.10.2020 17:10:00
    Dieter(Drummer)
    ... den kurzen Code von dir nutzen.
    Gruß und einen erforgreichen Resttag,
    Dieter(Drummer)
    AW: Danke Herbert, da werde ich ...
    02.10.2020 17:11:48
    Herbert_Grom
    Hallo Dieter,
    Bitte sehr, gerne geschehen. Danke für die Rückmeldung.
    Servus
    Anzeige
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 17:20:36
    Yal
    Hallo Herbert,
    sehr gut!
    Challenge-Frage:
    deine Lösung zwingt jedesmal den "Gegenspieler" zu nennen.
    Gibt es eine "msoBringToBackGround", das erlauben würde, bei allen Ereignis-Funktion dieselbe Coding zu haben:
    Private Sub img1a_Click()
    Me.ActiveControl.ZOrder msoBringToBackground
    End Sub
    
    Ich habe da auf die Schnelle nichts gefunden.
    VG Yal
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 17:41:26
    Herbert_Grom
    Hallo Yal,
    du musst das Kind schon beim Namen nennen, woher soll Excel sonst wissen, welches Element du meinst!
    Aber die Lösung von ralf_b gefällt mir am Besten! So habe auch ich schon wieder etwas gelernt! Danke Ralf!
    Servus
    Anzeige
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 17:51:09
    Yal
    Gefunden: msoSendToBack
    Kind nennen? Wenn eine Ereignisprozedure ausgelöst ist, dann bedeutet es, dass das entsprechende Element das aktive Element ist.
    "Me" ist die Form. Darin gibt immer nur einen "ActiveControl".
    Also wenn img1a_Click reagiert, ist Me.ActiveControl.Name --> "img1a"
    Ralf hat wieder den Streber gespielt :-p
    Ne Scherz: Hut ab!
    Schönes WE
    Yal
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 18:11:06
    ralf_b
    danke für die Blumen, alles hier und aus anderen Foren gespickt.
    übrigens das Activecontrol ist leider Frame1. wäre aber nice. also Rahmen weg und los.
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 19:23:24
    Yal
    ... weil Du den Rahmen verwendest, um die Controls zu gruppieren, um eventuell eine For Each laufen zu lassen. Habe ich auch dran gedacht, um jede Duos zusammen zu packen. Aber viel Aufwand und treibt den Wissenstand der Fragenden nicht wesentlich in die Höhe.
    Jetzt aber Feierabend
    VG Yal
    Anzeige
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 17:45:39
    volti
    Hi Yal,
    zu Deiner Frage: Das könnte passen:

    Private Sub img1a_Click()
        Me.ActiveControl.ZOrder msoSendToBack
    End Sub
    
    viele Grüße
    Karl-Heinz
    @volti: ja, getestet und abgenommen. owT
    02.10.2020 17:53:07
    Yal
    .
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 17:01:27
    Yal
    Hallo Dieter(Drummer),
    da es "nur" 20 Elemente sind und diese Anzahl fest ist, lohnt es sich nicht, auf ein komplexere Behandlung zu wechseln.
    Mit einem Suchen/Ersetzen schaltet man sehr schnell den
    Private Sub img1_Click()
    usf1.img1.Visible = False
    usf1.img1a.Visible = True
    End Sub
    Private Sub img1a_Click()
    usf1.img1.Visible = True
    usf1.img1a.Visible = False
    End Sub
    
    in einem
    Private Sub img2_Click()
    usf1.img2.Visible = False
    usf1.img2a.Visible = True
    End Sub
    Private Sub img2a_Click()
    usf1.img2.Visible = True
    usf1.img2a.Visible = False
    End Sub
    
    Man kann auch die 8 Zeilen in einem Tabelle in Spalte A einfügen, in Spalte B
    =WECHSELN(A1;"g1";"g"&$C$1)
    und C1 abwechseln 2 bis 0 eintragen, jedesmal Copy-Paste dazwischen...
    Viel Erfolg
    Yal
    Anzeige
    AW: Danke Yal, da werde ich ...
    02.10.2020 17:12:20
    Dieter(Drummer)
    den kurzen Code von Herbertnutzen.
    Dennoch Danke für deine Info.
    Gruß und auch einen schöen Resttag,
    Dieter(Drummer)
    AW: Imgages aus Userform mit Klick an aus
    02.10.2020 17:55:27
    Herbert_Grom
    Hallo Ralf,
    geiler Befehl! Habe ich noch nie gelesen! Vielen Dank dafür! So kann man auch nach 26 Jahren Excel-Programmierung noch immer etwas dazu lernen! Echt geil das Excel!
    Servus
    AW: Danke ralf, auch eine ...
    02.10.2020 18:03:17
    Dieter(Drummer)
    ... prima Lösung.
    Gruß und einen angenehmen Resttag,
    Dieter(Drummer)

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige