Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
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

für mehrere controls eine prozedur

für mehrere controls eine prozedur
22.01.2023 15:57:55
boris
Hallo liebe Leute
Ich habe in einer Userform in einem Frame mehrere Optionbutton die praktisch das gleiche tun, bis auf ein zwei Kleinigkeiten die man als Variable übergeben könnte. Jetzt find ich es überhaupt nicht sexy, wenn da n-mal die fast gleiche Porzeur steht. Gibt es keine Möglichkeit eine Prozedur zu verwenden um ein Click auf irgendeinen dieses Optionbutton gibt an die Prozedur nur die Nummer es Button weiter?
Private Sub OptionButton10_Click() die '10' würde ich gerne als Variable übergeben
       TextBoxenSchichtModellEnabledTrue
           Worksheets("einloggen").Range("D10").Value = "10"
               CtrlNrVon = 1: CtrlNrBis = 12: SetControlls = "TextBox"
                Steps = Array(1, 1, 2, 1, 1, 2, 1, 1, 1)
                i = 2
                s = 0
                Do Until i > 12
                Me.Controls(SetControlls & i).Enabled = False
                 Debug.Print i
                 i = i + Steps(s)
                 s = s + 1
                Loop
    End Sub
Viele Grüss Boris

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: für mehrere controls eine prozedur
22.01.2023 16:46:52
JoWE
Hallo Boris,
m.E. benötigt jeder OptionButton einen eigenen Aktionscode.
Also sollte in einem Allgemeinen Modul ein Makro erstellt werden,
welches Deinen Code enthält.
Im Aktioncode aller OptionButtons wäre nun nur noch
das Makro aus dem Allgemeinen Modul mit "Call" aufzurufen.
Gruß
Jochen
AW: für mehrere controls eine prozedur
22.01.2023 17:15:37
Daniel
Hi
Ja, gibt es. Nennt sich "Klassenprogrammierung". Muss nan aber lernen und verstehen.
Der wesentlich einfachere Weg dürfte sein, die Optionbuttons und das Frame durch eine Combobox oder Listbox zu ersetzen.
Gruß Daniel
AW: für mehrere controls eine prozedur
22.01.2023 17:18:01
boris
Mir geht es mehr um lernen und verstehen, als um einfach. Das ganze Projekt das hier programmiere ist im wesentlichen nur zum lernen :-)
Anzeige
AW: für mehrere controls eine prozedur
22.01.2023 17:20:50
Daniel
Wie gesagt, verwende die Klassenprogrammierung.
Im Archiv oder im Internet solltest du genügend Informationen und Beispielcodes finden.
Gruß Daniel
AW: für mehrere controls eine prozedur
22.01.2023 17:24:41
boris
Danke, ich werds demnächst mal versuchen, schönen Sonntagabend noch. Grüsse Boris
AW: für mehrere controls eine prozedur
22.01.2023 20:57:15
boris
ich meinte die Klassenprogrammierung
AW: für mehrere controls eine prozedur
22.01.2023 17:28:27
Daniel
Die einfache Lösung wäre die Variablenübergabe:
Du erstellst ein normales Makro und setzt der zu übergenden Wert als Übergabeparameter ein:
Sub test(x AS Variant)
Msgbox cstr(x)
Ende Sub
In den Klickevents rufst du dann nur noch dieses Makro mit dem Wer auf:
Private Sub OptionButton10_Click()
Call test(10)
End sub
Private Sub OptionButton11_Click()
Call test(11)
End sub
Gruß Daniel
Anzeige
AW: für mehrere controls eine prozedur
22.01.2023 17:34:57
boris
ich versuche das mal zu verstehen, braucht aer seine Zeit. Dankeschön
AW: für mehrere controls eine prozedur
22.01.2023 19:37:01
Daniel
Wenn du dafür schon länger brauchst um das zu verstehen, wird's wird's mit Klassenprogrammierung nicht einfacher.
Ich empfehle weiterhin die Listbox.
AW: für mehrere controls eine prozedur
22.01.2023 20:54:54
boris
Ich habe Zeit. Das ist ein Hobby.
AW: für mehrere controls eine prozedur
22.01.2023 20:59:30
boris
ich meinte die Klassenprogrammierung , das hier kapiere ich . grad noch :-)
AW: für mehrere controls eine prozedur
23.01.2023 13:38:43
Zwenn
Hallo Boris,
für die von Daniel genannte Lösung über Klassenprogrammierung verlinke ich Dir ein Beispiel. Darin werden die Steuerelemente (hier Buttons) zwar dynamisch erzeugt, aber Du kannst das Array auch mit bestehenden Steuerelementen füllen. Müsste genauso klappen nehme ich an. Zum rumspielen eignet sich der Code allemal.
Den Quellcode musst Du neu formatieren. Das Forenarchiv erhält Code leider nicht eingerückt, sondern zieht alles linksbündig.
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1888338#1888377
Viele Grüße,
Zwenn
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige