Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1460to1464
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 und Rahmen

Checkboxen und Rahmen
25.11.2015 18:48:39
Ingo
Hallo Forum
Vielleicht kann mir ja irgendjemand von euch helfen
-Ich habe eine UserForm mit 10 Checkboxen und 4 Rahmen
- ein Rahmen enthält 3 Checkboxen
- 1 Rahmen enthält nur eine Checkbox
Mein Problem ist folgenden:
-Wenn ich Checkbox1 im Rahmen1 auswähle, dann sollen die Rahmen 2-4 ausgeblendet werden – und es sollen die Checkboxen 2-3 nicht mehr angeklickt werden können
Das habe ich hinbekomme, aber sehr umständlich das Ganze, und vor allem werden die
Codes lang und viel
- das 2. Problem ist, es soll die Auswahl wieder aufgehoben werden können, deshalb die Checkboxen und keine Optionbutton
Kann mir jemand eine bessere Lösung sagen bzw. schreiben?
Danke
Ingo
Datei:
https://www.herber.de/bbs/user/101805.xlsm

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkboxen und Rahmen
25.11.2015 19:17:44
Daniel
Hi
ja, geht elegeanter
probier mal folgenendes:
1. dieses Makro im Modul der Userform "Auswahl_2":
Sub Einaus()
Dim crtl As Control
Frame1.Visible = (Frame1.Name = ActiveControl.Name Or ActiveControl.ActiveControl.Value = False) _
Frame2.Visible = (Frame2.Name = ActiveControl.Name Or ActiveControl.ActiveControl.Value = False) _
Frame3.Visible = (Frame3.Name = ActiveControl.Name Or ActiveControl.ActiveControl.Value = False) _
Frame4.Visible = (Frame4.Name = ActiveControl.Name Or ActiveControl.ActiveControl.Value = False) _
For Each crtl In ActiveControl.Controls
crtl.Enabled = (crtl.Name = ActiveControl.ActiveControl.Name Or ActiveControl.ActiveControl. _
Value = False)
Next
End Sub
2. erstelle für jede Checkbox folgendes Click-Event:
Private Sub CheckBox1_Click()
Call Einaus
End Sub
zur Erläuterung des Codes:
in einer normalen Userform ist ActitveControl das Steuerelement, welches gerade den Focus hat, also bspw die zuletzt angeklickte Checkbox.
hast du jedoch Frames, so ist ActiveControl der Frame, in dem sich das zuletzt angeklickte Steuerelement befindet ActiveControl.ActiveControl ist dann das aktive Steuerelement innerhalb des Aktiven Frames.
Gruß Daniel

Anzeige
AW: Checkboxen und Rahmen
25.11.2015 19:27:13
Daniel
Hier das Makro nochmal mit Variablen, ist vielleicht übersichtlicher:
Sub Einaus()
Dim crtl As Control, aFrm As Control, aChk As Control
Set aFrm = ActiveControl       'aktive Frame
Set aChk = aFrm.ActiveControl    'aktive Checkbox
Frame1.Visible = (Frame1.Name = aFrm.Name Or aChk.Value = False)
Frame2.Visible = (Frame2.Name = aFrm.Name Or aChk.Value = False)
Frame3.Visible = (Frame3.Name = aFrm.Name Or aChk.Value = False)
Frame4.Visible = (Frame4.Name = aFrm.Name Or aChk.Value = False)
For Each crtl In ActiveControl.Controls
crtl.Enabled = (crtl.Name = aChk.Name Or aChk.Value = False)
Next
End Sub
gruß Daniel

Anzeige
AW: Checkboxen und Rahmen
25.11.2015 19:30:30
Ingo
Hey Daniel
ich bin ja so begeistert von deiner Lösung
danke
Ingo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige