Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Click-Ereignis für Checlbox nicht ausführen?

Click-Ereignis für Checlbox nicht ausführen?
01.02.2008 16:26:25
Jens
hallo liebe forums-gemeinde,
ich ängere über vba den wert für ein kontrollkästchen (steuerelement-toolbox). ändert sich dabei der status (true auf false oder false auf true), dann wird automatisch das click-ereignis für dieses kontrollkästchen aufgerufen.
lässt sich das irgendwie unterbinden?
d.h.: das click-ereignis soll nur aufgerufen werden, wenn das kontrollkästchen über das arbeitsblatt geklickt wird, aber nicht bei änderungen des wertes im vba-code.
hab bei meinen recherchen keine möglichkeit gefunden. vielleicht könnt ihr mir weiterhelfen.
vielen dank sagt
der jens

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Click-Ereignis für Checlbox nicht ausführen?
01.02.2008 16:45:56
Detlef
Hi,
poste mal den Code, der das Ereignis auslöst.
mfg Detlef

AW: Click-Ereignis für Checlbox nicht ausführen?
01.02.2008 17:08:48
Jens
hallo detlef,
hier der codeausschnitt:

Public Sub ShowAllCheckBoxes()
Dim oWks As Worksheet
Dim oOLEobj As OLEObject
On Error Resume Next
For Each oWks In ActiveWorkbook.Worksheets
For Each oOLEobj In oWks.OLEObjects
' show all checkboxes
If TypeName(oOLEobj.Object) = "CheckBox" Then _
oOLEobj.Object = True
Next oOLEobj
Next oWks
Set oWks = Nothing
Set oOLEobj = Nothing
End Sub


AW: Click-Ereignis für Checlbox nicht ausführen?
01.02.2008 17:22:17
Detlef
Hi,
ich geh mal davon aus, dass der Code in einem Standardmodul steht:
Public jetzt_nicht as Boolean

Public Sub ShowAllCheckBoxes()
Dim oWks As Worksheet
Dim oOLEobj As OLEObject
On Error Resume Next
jetzt_nicht = True
For Each oWks In ActiveWorkbook.Worksheets
For Each oOLEobj In oWks.OLEObjects
' show all checkboxes
If TypeName(oOLEobj.Object) = "CheckBox" Then _
oOLEobj.Object = True
Next oOLEobj
Next oWks
Set oWks = Nothing
Set oOLEobj = Nothing
jetzt_nicht = False
End Sub


In die Codes der Boxen dann am Anfang folgende Zeile am Anfan:
If jetzt_nicht Then Exit Sub
mfg Detlef

Anzeige
AW: Click-Ereignis für Checlbox nicht ausführen?
01.02.2008 17:22:10
Matthias
Hallo Jens,
an sich macht das ja Sinn, leider ist der Ereignis nicht durch Application.EnableEvents= False abschaltbar.
Du kannst es aber (etwas aufwendiger) so machen:
- In einem "normalen" Modul definierst du ganz oben vor den Przeduren eine globale Variable:

Public NOCLICK As Boolean


Die Prozedur (und alle, die den Checkbox-Wert ändern, aber kein OnClick-Ereignis auslösen wollen, änderst du auf diese Weise:


Public Sub ShowAllCheckBoxes()
Dim oWks As Worksheet
Dim oOLEobj As OLEObject
On Error Resume Next
NOCLICK = True '############ NEU
For Each oWks In ActiveWorkbook.Worksheets
For Each oOLEobj In oWks.OLEObjects
' show all checkboxes
If TypeName(oOLEobj.Object) = "CheckBox" Then _
oOLEobj.Object = True
Next oOLEobj
Next oWks
NOCLICK = False '############ NEU
Set oWks = Nothing
Set oOLEobj = Nothing
End Sub


Und in die ganzen OnClick-Prozeduren stellst du ganz am Anfang die Zeile If NOCLICK Then Exit Sub, also z.B. so:


Private Sub CheckBox1_Click()
If NOCLICK Then Exit Sub
MsgBox "CheckBox1 Klick!"
End Sub
Private Sub CheckBox2_Click()
If NOCLICK Then Exit Sub
MsgBox "CheckBox2 Klick!"
End Sub


Gruß Matthias

Anzeige
AW: Click-Ereignis für Checlbox nicht ausführen?
01.02.2008 18:46:18
Jens
hallo matthias und detlef,
danke für eure antworten, die ja im prinzip das gleiche vorschlagen. schade, dass es nicht ohne diesen nicht wirklich eleganten umweg geht. aber hauptsache es funktioniert! ;-)
danke nochmal für eure hilfe!
der jens

300 Forumthreads zu ähnlichen Themen


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin

Hallo Leute,
heute habe ich wieder mal ein einfaches Problem für Euch, an dem ich aber nicht weiter kommen:
Ich möchte die Arbeitsblätter in meiner Arbeitsmappe zählen. Das ist ja kein Problem (ThisWorkbook.sheets.count).
wenn das makro mehr als ein Arbeitsblatt zählt (also das Erge...

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Hallo,
google spuckt Zu "Excel" und "Häufigkeitslücken" lediglich 3 Treffer aus, die nicht gerade brauchbar für meine Aufgabe sind.
Ich muss für 3 Variablen eine Typisierung mit einer Häufigkeitslücke durchführen.
Hiermit bin ich fast gänzlich überfragt. Mit Quantilen hatte ich das...

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?

Links zu Excel-Dialogen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige