Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1244to1248
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

togglebutton

togglebutton
Herbert
Hallo!
Ich möchte 2 Togglebuttons in einer UserForm zum Umschalten verwenden.

Private Sub ToggleButton1_Click()
ToggleButton1.Value = True
ToggleButton2.Value = False
call irgendwas1
End Sub

Private Sub ToggleButton2_Click()
ToggleButton2.Value = True
ToggleButton1.Value = False
Call irgendwas2
End Sub

Geht ja, ABER ..
Sobald die UserForm Eigenschaft "showModal" auf "False" ist, funktioniert die Umschaltung nicht mehr, bei "True" schon. Leider kann man die Eigenschaft "showModal" per VBA nicht umschalten, da sie nicht angeboten wird und im Code als Fehler (gibts nicht) bemurrt wird. Ich benötige aber die Eigenschaft "showModal" in True, da eine direkt Eingabe am Tabellenblatt und von der Userform möglich sein muss.
Klar, ich kann auch das Optionsfeld verwenden (funkt problemlos). Will aber haben, da der ToggleButton logischer ist.
An welchen Rädchen muss ich wohl drehen?
Herzlichst
Herbert

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: togglebutton
01.01.2012 11:00:18
Beverly
Hi Herbert,
Sub Start()
UserForm1.Show vbModeless
End Sub



warum sollte das denn nicht gehen
01.01.2012 12:09:27
Matthias
Hallo Herbert
Zuerstmal wünsche ich allen Forumteinehmern ein gesundes neues Jahr!
Zum Thema:
Es ist doch vollkommen egal ob das Formular gebunden oder ungebunden angezeigt wird.
Das Umschalten geht doch trotzdem.
Würde mich wundern wenn das in XL2010 nicht mehr geht
Porbier mal:
https://www.herber.de/bbs/user/78153.xls
Gruß Matthias
Anzeige
AW: warum sollte das denn nicht gehen
01.01.2012 19:00:20
Herbert
Danke Matthias!
Eh klar- Ein erfolgreiches Jahr 2012 soll den Mitgliedern des Excel-Forums beschieden sein!!!!!!
Besonders, wenn gleich noch heute eine Antwort kommt- nehme an: begeisterte Exceler!
Mit Herbers VBA geht das. Danke für die Lösung:
ToggleButton2.Value = Not ToggleButton1.Value
Wie kommt man auf sowas?
Prosit 2012
Herbert
Prosit 2012 ;-)
01.01.2012 19:14:32
Matthias
.
AW: warum sollte das denn nicht gehen
01.01.2012 19:57:01
Reinhard
Hallo Herbert,
stimmt dein Level?
Du hast gewählt Excel-Profi und Vba gut.
Dann bist du erstaunt über:
ToggleButton2.Value = Not ToggleButton1.Value
Okay, wie staunst du dann erst über diesen durchaus sinnvollen Befehl:
Range("A1:D100").Value=Range("A1:D100").Value
?
:-)
Gruß
Reinhard
Anzeige
AW: warum sollte das denn nicht gehen
02.01.2012 07:48:37
Herbert
Sorry, aber Profi bin ich keiner - habe da was falsch angeklickt. Bisher habe ich vieles selbst lösen können - daher VBA gut.
Gruss herbert.
AW: togglebutton
01.01.2012 19:44:25
Luschi
Hallo Herbert,
wenn Du Dir in beide Ereignisroutinen der Togglebuttons eine MsgBox-Meldung reinsetzt, wirst Du erkennnen, daß hier beim Drücken auf ToggleButton2 eine immer wiederkehrende Meldungsbox erscheint.
Der Vba-Code rennt jetzt in Kreis in einer Dauerschleife.
ToggleButton1.Value = True bedeutet nicht nur, das diese Box den sichtbaren gedrückten Zustand und einnimmt, sondern Excel wertet das so, als ob der User mit der Maus im Formular auf dieses ToggleButton1 gedrückt hat.
Also wird die Ereignis-Rounine 'Private Sub ToggleButton1_Click()' ausgelöst und Togglebutton2 wieder auf 'nicht gedrückt' gestellt - damit wird die Ereignis-Rounine 'Private Sub ToggleButton2_Click()' ausgelöst und das Spielchen geht von vorne los.
Warum es im modalen Zustand scheinbar funktioniert, ist das Geheimnis von Excel 2010 - denn in Excel 2003 funktioniert es auch modal nicht.
Da das Ausschalten der Vba-Ereignisroutien (Application.EnableEvents = False) auf Steuerelement-Ereignisse im Formular nicht wirken, wird Dir wohl nichts weiter übrig bleiben, eine klug durchdacht Logik selbst auszutüffteln, indem Variablen vom Typ Boolean das Verhalten steuern.
Aber warum willst Du, das sich ToggleButtons gegeseitig in die Suppe spucken und sich gegenseitig im Status ändern. Was soll damit erreicht werden?
fragt sich Luschi
aus klein-Paris
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige