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

CheckBoxen Makro

CheckBoxen Makro
30.01.2020 11:44:43
Thomas
Hallo Excelfreunde,
ich habe auf einer Userform insgesamt 6 CheckBoxen. Wobei immer drei davon synchron an bzw. abgehakt sein müssen.
Es darf immer nur eine Gruppe aktiv sein. Im Beispiel habe ich eine Gruppe auf dem Frame1 und die andere auf Frame2.
Dies funktioniert auch schon gut. Beim aktivieren einer Gruppe möchte ich ein Makro starten. Im Beispiel habe ich stellvertretend eine Msgbox eingebaut. Das bekomme ich auch hin.
Mein Problem ist das, sobald eine Gruppe aktiv ist und die andere Gruppe aktiviert wird, wird das jeweilige Macro zweimal ausgeführt. Es darf aber nur einmal ausgeführt werden.
Ich bekomme dies einfach nicht gelöst.
Hat jemand von euch eine Lösung für mich?
https://www.herber.de/bbs/user/134851.xlsm
Habt schon mal recht vielen dank für euer Interesse.
mfg thomas
Public acheckb As Boolean
Public noch_bearbei_ein As Boolean
Private Sub Frame1_Click()
End Sub

Private Sub optDescrSTR1_Click()
If optDescrSTR1.Value = True Then
'If acheckb = True Then
'Exit Sub
'End If
'acheckb = True
MsgBox "Makro1  optDescrSTR1"
optDescrSTR2.Value = True
optDescrSTR3.Value = True
'Tabelle1.Range("a1") = "Makro1  optDescrSTR1"
optDescrKNU1.Value = False
optDescrKNU2.Value = False
optDescrKNU3.Value = False
Else
optDescrSTR2.Value = False
optDescrSTR3.Value = False
optDescrKNU1.Value = False
optDescrKNU2.Value = False
optDescrKNU3.Value = False
End If
'acheckb = False
End Sub
Private Sub optDescrSTR2_Click()
If optDescrSTR2.Value = True Then
optDescrSTR1.Value = True
optDescrSTR3.Value = True
optDescrKNU1.Value = False
optDescrKNU2.Value = False
optDescrKNU3.Value = False
Else
optDescrSTR1.Value = False
optDescrSTR3.Value = False
optDescrKNU1.Value = False
optDescrKNU2.Value = False
optDescrKNU3.Value = False
End If
End Sub
Private Sub optDescrSTR3_Click()
If optDescrSTR3.Value = True Then
optDescrSTR1.Value = True
optDescrSTR2.Value = True
optDescrKNU1.Value = False
optDescrKNU2.Value = False
optDescrKNU3.Value = False
Else
optDescrSTR1.Value = False
optDescrSTR2.Value = False
optDescrKNU1.Value = False
optDescrKNU2.Value = False
optDescrKNU3.Value = False
End If
End Sub

Private Sub optDescrKNU1_Click()
If optDescrKNU1.Value = True Then
MsgBox "Makro 2   optDescrKNU1"
'acheckb = True
optDescrKNU2.Value = True
optDescrKNU3.Value = True
optDescrSTR1.Value = False
optDescrSTR2.Value = False
optDescrSTR3.Value = False
Else
optDescrKNU2.Value = False
optDescrKNU3.Value = False
optDescrSTR1.Value = False
optDescrSTR2.Value = False
optDescrSTR3.Value = False
End If
'If acheckb = True Then
'Exit Sub
'End If
End Sub
Private Sub optDescrKNU2_Click()
If optDescrKNU2.Value = True Then
optDescrKNU1.Value = True
optDescrKNU3.Value = True
optDescrSTR1.Value = False
optDescrSTR2.Value = False
optDescrSTR3.Value = False
Else
optDescrKNU1.Value = False
optDescrKNU3.Value = False
optDescrSTR1.Value = False
optDescrSTR2.Value = False
optDescrSTR3.Value = False
End If
End Sub
Private Sub optDescrKNU3_Click()
If optDescrKNU3.Value = True Then
optDescrKNU1.Value = True
optDescrKNU2.Value = True
optDescrSTR1.Value = False
optDescrSTR2.Value = False
optDescrSTR3.Value = False
Else
optDescrKNU1.Value = False
optDescrKNU2.Value = False
optDescrSTR1.Value = False
optDescrSTR2.Value = False
optDescrSTR3.Value = False
End If
End Sub

Private Sub UserForm_Click()
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
klappt super besten dank an onur
31.01.2020 21:47:31
Thomas
Hallo onur ,
ich habe noch bis vor kurzen alles mögliche probiert. Ich wollte schon aufgeben.
Hab recht vielen vielen dank. Deine Lösung ist super.
Hab noch ein schönes WE.
mfg thomas
AW: CheckBoxen Makro
31.01.2020 22:04:37
Christian
Hallo Thomas,
so ganz verstanden habe ich ja nicht, für was das gut ist...
Hier mal ein Ansatz - kommst du damit klar?
Option Explicit
Dim blnSTR As Boolean
Dim blnKNU As Boolean
Dim blnSwitch As Boolean
Private Sub STR_ON()
If Not blnSwitch Then
blnSTR = True
blnSwitch = True
MsgBox "STR_ON"
Me.optDescrSTR1 = True
Me.optDescrSTR2 = True
Me.optDescrSTR3 = True
blnSwitch = False
End If
End Sub
Private Sub STR_OFF()
If Not blnSwitch Then
blnSTR = False
blnSwitch = True
MsgBox "STR_OFF"
Me.optDescrSTR1 = False
Me.optDescrSTR2 = False
Me.optDescrSTR3 = False
blnSwitch = False
End If
End Sub
Private Sub KNU_ON()
If Not blnSwitch Then
blnKNU = True
blnSwitch = True
MsgBox "KNU_ON"
Me.optDescrKNU1 = True
Me.optDescrKNU2 = True
Me.optDescrKNU3 = True
blnSwitch = False
End If
End Sub
Private Sub KNU_OFF()
If Not blnSwitch Then
blnKNU = False
blnSwitch = True
MsgBox "KNU_OFF"
Me.optDescrKNU1 = False
Me.optDescrKNU2 = False
Me.optDescrKNU3 = False
blnSwitch = False
End If
End Sub
Private Sub optDescrSTR1_Click()
If blnKNU Then Call KNU_OFF
If Me.optDescrSTR1 Then Call STR_ON Else Call STR_OFF
End Sub
Private Sub optDescrSTR2_Click()
If blnKNU Then Call KNU_OFF
If Me.optDescrSTR2 Then Call STR_ON Else Call STR_OFF
End Sub
Private Sub optDescrSTR3_Click()
If blnKNU Then Call KNU_OFF
If Me.optDescrSTR3 Then Call STR_ON Else Call STR_OFF
End Sub
Private Sub optDescrKNU1_Click()
If blnSTR Then Call STR_OFF
If Me.optDescrKNU1 Then Call KNU_ON Else Call KNU_OFF
End Sub
Private Sub optDescrKNU2_Click()
If blnSTR Then Call STR_OFF
If Me.optDescrKNU2 Then Call KNU_ON Else Call KNU_OFF
End Sub
Private Sub optDescrKNU3_Click()
If blnSTR Then Call STR_OFF
If Me.optDescrKNU3 Then Call KNU_ON Else Call KNU_OFF
End Sub
Gruß
Christian
Anzeige
AW: CheckBoxen Makro
31.01.2020 22:49:28
Thomas
Hallo Christian,
hab auch du rechtvielen dank für deine Lösung.
Deine Idee ist auch super.
Ich benutze dies um in einer Listbox mit einem einzigen Haken bestimmte Filter zu setzen. Das geht dann viel schneller als mit einer Combobox. Drei Checkboxen je Gruppe benötige ich, weil ich auf einem MultiPage-Steuerelement auf drei Seiten gleichzeitig diesen Filter setzen möchte.
Hab vielen dank das du dich damit beschäftigt hast.
Ich wünsch dir noch ein ruhiges WE.
mfg thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige