Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
456to460
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
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ToggleButton gruppieren

ToggleButton gruppieren
15.07.2004 20:28:58
Christian
Hallo zuasmmen,
ist es möglich, mehrere Togglebuttons in einer UserForm zu gruppieren.
Was ist möchte ist:
Wenn ein Togglebutton gedrückt wird sollen sich alle anderen wieder ausgeschalten.
vielen Dank für eure Antworten
Gruß
Christian

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ToggleButton gruppieren
Udo
Das ist eigentlich ein Job für Optionbutton.
Udo
AW: ToggleButton gruppieren
15.07.2004 20:58:24
Christian
Hallo Udo,
du hast ja recht...
aber ich hätte die Buttons auf meiner UserForm gerne in der Form von "Schaltflächen", vom Layout eben so wie der Comandbutton oder der Toggelbutton.
Ich kenn mich leider zu wenig aus mit Excel-Steuerelementen. (In Access hab das mal gesehn, da konnte man diese Schaltflächen gruppieren, und damit erzeugte man dieses gewünschte Verhalten)
Ich hab über 20 dieser Togglebuttons und würde gerne "hin-und-herschalten" können.
gibt es in Excel keine Lösung für mein Problem?
Vielen Dank für weitere Hilfe
Gruß
Christian
Anzeige
AW: ToggleButton gruppieren
Udo
Option Explicit
''Dieser Code ist für jeden TB erforderlich
''Die TB dürfen nicht anders heißen!

Private Sub ToggleButton1_Click()
If ToggleButton1 Then Call aus_ein(1)
End Sub


Private Sub ToggleButton2_Click()
If ToggleButton2 Then Call aus_ein(2)
End Sub


Private Sub ToggleButton3_Click()
If ToggleButton3 Then Call aus_ein(3)
End Sub

Sub aus_ein(ein As Byte)
Dim c As Object
For Each c In Controls
If c.Name Like "Togg*" And InStr(c.Name, CStr(ein)) = 0 Then c = False
Next
End Sub
Udo
Anzeige
Whow...
15.07.2004 22:14:28
Christian
Hi Udo,
dass ist schon gar nicht schlecht - nein es ist genial!
bis auf eine kleine Kleiniglkeit.
Wenn ich jetzt einen gedrückten Button nochmals drücke, wird dieser wieder frei. (so wie sich Togglebuttons eben verhalten...)
Wäre es denn auch möglich, diesen nur durch Drücken eines anderen der vorhandenen Togglebuttons wieder freizuschalten. (so dass also immer einer gedrückt ist)
vielen Dank für deine Hilfe
Gruß
Christian
AW: Whow...
Udo
Woher ist bekannt, welcher TB dann gedrückt sein soll?
Udo
ich stell mir das vor...
15.07.2004 22:51:28
Christian
Hallo Udo,
...beim Laden der Userform wird ein Button auf True gesetzt.
Me.ToggleButton1.Value = True '(ob man das "Value" braucht, sei mal dahingestellt)
ich hab eben in deinem Code probiert, was zu ändern:
Bsp für Button2:

Private Sub ToggleButton1_Click()
ToggleButton2 = True
If ToggleButton2 Then Call aus_ein(2)
End Sub

Das funktioniert soweit auch ...allerdings bei drei Buttons schon sehr langsam.
Ich vermute, das er hier in eine Schleife läuft, die eigentlich nicht nötig wäre.
Eigentlich müsste er sich nur den zuletzt gedrückten Button merken und diesen wieder frei setzen, wenn ein anderer gedrückt wird.
Aber für diese Umsetzung fehlt mir das KnowHow.
viele Grüße
Christian
Anzeige
kleiner Schreibfehler
15.07.2004 23:09:46
Christian
ich nochmal...
der Code in dem Beispiel soll natürlich bei "ToggleButton2-Click()" ausgeführt werden und nicht wie fälschlicherweise geschrieben bei: "ToggleButton1_Click()"
Gruß
Christian
AW: ich stell mir das vor...
Udo
So erzeugst du eine Endlosschleife, wundert mich, dass das überhaupt
funktioniert. Du kannst zum "merken" den Namen des zuletzt gedrückten TB
in einer Variablen speichern.
Udo
und genau da weiß ich nicht weiter ...
15.07.2004 23:30:52
Christian
Hallo Udo,
nochmals vielen Dank für deinen Einsatz...
aber bei dem Versuch, diese Idee umzusetzen (speichern des Buttons-Namens in einer Variablen und diese bei jeden neuen "Button-Click" zur Verfügung zu stellen) scheitere ich kläglich...da kommt nur Mist raus (Microsoft nennt das dann wohl zu Recht "Fehlermeldung")
wenn du mir hier vielleicht nochmal helfen könntest, wäre das super...
Gruß
Christian
Anzeige
AW: und genau da weiß ich nicht weiter ...
Udo
Ehrlich gesagt fehlt mir die Motivation, weil ich den praktischen Nutzen
nicht sehe. Machbar ist es auf jeden Fall.
Billige Alternative, nimm ein Multipagecontrol, stell in den Eigenschaften
Style auf Buttons, dann hast du den gleichen Effekt ohne eine Zeile Code.
Udo
Multipage ist 'ne gute Idee - Merci
16.07.2004 19:29:35
Christian
Hi Udo,
Vielen Dank für den Tipp und für deine Mühe.
Gruß
Christian

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige