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

Userform controls rufen sich gegenseitig auf

Userform controls rufen sich gegenseitig auf
Heiko
Hallo, Leute,
klingt jetzt vielleicht etwas naiv, aber ist das korrekt, dass sich UserForm controls geneseitig aufrufen wie Unterprogramme?
Wenn ich z.B. eine UserForm mit verschiedenen Elementen initialisiere, was ja einmalig beim Oeffenen passieren soll, sollen die Elemente bestimmte Werte erhalten.
Wenn man jedoch auf die Elemente klickt (z.B. checkBox), sollen sich die Eigenschaften aendern, aber nur dann.
Jetzt ruft meine UserForm bei der Initialisierung der CheckBox die zur checkBox gehoerige Subroutine automatisch auf und macht das, was dort drin steht. Ist das so gewollt oder spinnt da was rum?
Private Sub UserForm_Initialize()
checkBox1.value = 0
checkBox2.Value = 1
End Sub

Private Sub CheckBox1_Click()
if CheckBox2.value = 1 then checkBox 2.value = 1
End Sub

Private Sub CheckBox2_Click
if CheckBox1.value = 1 then checkBox2.value = 0
End Sub
Wie kriegt man es hin, dass die beiden checkBoxen beim Aufruf der Userform gesetzt werden und die beiden Unterprogramme (oder was immer) erst dann das machen, was sie sollen, wenn ich auch wirklich draufklicke?
Vielen Dank im voraus,
Heiko

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Userform controls rufen sich gegenseitig auf
29.02.2012 03:07:58
fcs
Hallo Heiko,
bei Checkboxen in Userforms hat das Setzen der Werteigenschaft den gleichen Effekt wie ein Klick in die Checkbox. Ist nun einmal leider so.
Möglichkeit A:
Du setzt die Startwerte der Checkboxen unter den Eigenschaften der Checkboxen.
Möglichkeit B:
Du setzt in der Initialisierungs-Prozedur zu Beginn der Prozedur den Wert eine modulweit deklarierten Variablen. In allen unerwünscht startenden Prozeudren wird der Wert der Variablen zu Beginn geprüft und ggf. die Prozedur sofort wieder verlassen.
Am Ende der Initialisierungs-Prozedur wird die Variable wieder auf ihren Standardwert gesetzt.
Gruß
Franz
Option Explicit
Private boolInit As Boolean
Private Sub UserForm_Initialize()
boolInit = True
CheckBox1.Value = 0
checkBox2.Value = 1
boolInit = False
End Sub
Private Sub CheckBox1_Click()
If boolInit = True Then Exit Sub
If checkBox2.Value = 1 Then checkBox2.Value = 1
End Sub
Private Sub CheckBox2_Click()
If boolInit = True Then Exit Sub
If CheckBox1.Value = 1 Then checkBox2.Value = 0
End Sub

Anzeige
Geloest: Userform controls
29.02.2012 05:27:42
Heiko
Hi, Franz,
vielen Dank fuer die Hilfe.
Das ist natuerlich doof, dass das Klick-Ereignis nicht nur auf Klick reagiert... wieder was gelernt...
Aber wenigstens kann man tricksen...
Gruesse, Heiko

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige