Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Click auf Checkbox rückgängig machen



Excel-Version: 8.0 (Office 97)

Betrifft: Click auf Checkbox rückgängig machen
von: Mick McLaut
Geschrieben am: 28.08.2002 - 16:30:42

Hallo,
ich habe ein kleines Script, welches durch einen Klick auf eine Checkbox "angestossen" wird. Ich möchte nun eine Meldung anzeigen, die mir zwei Möglichkeiten gibt (Ja/Nein). Das ist kein Problem. Allerdings soll, wenn man auf [Nein] klickt, das Häkchen nicht gesetzt werden [was die ursprüngliche Eigenschaft war] (checkbox1.value = false).

Wenn ich in der If-Klausel diesen Befehl eingebe, fängt das Programm wieder an von vorne zu laufen. Ist mir auch klar warum (ich ändere ja den Status wieder von true auf false. Durch den ursprünglichen Klick wurde der Haken ja gesetzt und hat das Script angestossen.

Kennt jemand eine Möglichkeit das zu umgehen. ...Ach ja einfach sollte Sie sein, da ich kein Crack bin.

Hier das vereinfachte Script:

Sub CheckBox3_Click()
mldg = msgbox("Klicken Sie auf ja oder nein"), vbYesNo
If mldg = vbYes Then
MsgBox "ja will ich "
else
MsgBox "Nein, will ich nicht"
CheckBox3.Value = False => Hier liegt wohl das Problem
Exit Sub
End if
end sub

  

Re: Click auf Checkbox rückgängig machen
von: Axel
Geschrieben am: 28.08.2002 - 16:38:03

Hallo,

prüfe mal folgenden Code.

Gruß
Axel


Dim blnDisableEvents As Boolean

Sub CheckBox3_Click()
   
   Dim mldg As String
   
   If (blnDisableEvents) Then Exit Sub
   
   mldg = MsgBox("Klicken Sie auf ja oder nein", vbYesNo)
   
   If mldg = vbYes Then
      MsgBox "ja will ich "
   Else
      MsgBox "Nein, will ich nicht"
      
      blnDisableEvents = True
      CheckBox3.Value = False
      blnDisableEvents = False
   End If
End Sub


  

Re: Click auf Checkbox rückgängig machen
von: Bernhard Schrieber
Geschrieben am: 28.08.2002 - 16:43:45

Hallo,

das Click-Ereignis im VBA ist eigentlich ein Change-Ereignis, wie Du schon richtig bemerkt hast. Führ eine boolean-Variable ein, die Du im UserForm-Initialize auf 'true' setzt

Sub CheckBox3_Click()

if boolvar = false then
boolvar = true
exit sub
end if

mldg = msgbox("Klicken Sie auf ja oder nein"), vbYesNo
If mldg = vbYes Then
MsgBox "ja will ich "
else
MsgBox "Nein, will ich nicht"
boolvar = false
CheckBox3.Value = False
End if
end sub

Sollte klappen.

Grüße,

Bernhard


  

Re: Click auf Checkbox rückgängig machen
von: Hans-Georg
Geschrieben am: 28.08.2002 - 16:47:47

Hallo Mick,
habe dein Script etwas geändert und hoffe es hilft dir.


Sub CheckBox3_Click()
If CheckBox3.Value = True Then
mldg = MsgBox("Klicken Sie auf ja oder nein", vbYesNo)
If mldg = vbYes Then
MsgBox "ja will ich "
Else
MsgBox "Nein, will ich nicht"
CheckBox3.Value = False 'Hier liegt wohl das Problem
Exit Sub
End If
End If
End Sub

Gruß Hans-Georg.


  

Danke hat geklappt :-))
von: Mick McLaut
Geschrieben am: 28.08.2002 - 16:55:38

Super,
das hat geklappt. Vielen Dank auch an die anderen "Unterstützer".

Mick


 

Beiträge aus den Excel-Beispielen zum Thema "Click auf Checkbox rückgängig machen"