Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CheckBox ansprechen

Forumthread: CheckBox ansprechen

CheckBox ansprechen
02.07.2024 12:21:49
sandra
Hallo Zusammen,

ich habe auf einem Tabellenblatt mehrere Checkboxen alle bis auf zwei sind Formularsteuerelement. Die anderen zwei sind ActiveX-Steuerelemente, und sind von einander abhängig. Ist die eine Checkbox aktiv, soll die andere aus sein. Das funktioniert auch alles wunderbar.

Jetzt möchte ich durch eine Schaltfläche eine Msg-Box aufgehen lassen, mit der Abfrage ob alle Checkboxen zurückgesetzten werden sollen.
Das hat wunderbar funktioniert, bis ich die beiden ActiveX-Steuerelemente eingefügt habe.

hab versucht diese beiden einzeln anzusprechen, aber bekomme hier den Laufzeitfehler 91. objektvariable oder with-blockvariable nicht festgelegt

Option Explicit

Dim optionen
Dim strName As String
Dim CheckBox_Schaltanlage As Excel.CheckBox '(ActiveX-Stuerelement)
Dim CheckBox_MBW As Excel.CheckBox '(ActiveX-Stuerelement)
Dim chkBox As Excel.CheckBox

'2109 Selection_Options
Sub Selection_Options()
Frei
Sheets("Options").Select

optionen = MsgBox("Sollen die Optionen zurückgesetzt werden / Should the options be reset?", vbYesNo)
If optionen = vbYes Then

Application.ScreenUpdating = False
For Each chkBox In ActiveSheet.CheckBoxes
chkBox.Value = xlOff
Next chkBox

Application.ScreenUpdating = True


Else
End If

Sheets("Options").Select

End Sub

'Dies habe ich nur zum testen geschrieben auch hier funktioniert es nicht

Sub Checkboxen_aus()
If Range("A16").Value = True Then

CheckBox_Schaltanlage.Value = False
CheckBox_MBW.Value = False
Else
End If
End Sub


Ich komme hier nicht weiter und ich wäre euch dankbar, wenn jemand einen Tipp für mich hätte.

LG
Sandra
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: CheckBox ansprechen
02.07.2024 12:50:53
daniel
HI
die erste Frage wäre, wie du die Checkboxen syncronisiert hast.
ActiveX-Steuerelemente sollte man in Makros vollständig referenzieren (also mit Tabellenblattangabe) wenn das Makro nicht im Modul des Tabellenblatts liegt, in dem sich die jeweilige Checkbox befindet.
Wenn du die Checkboxen angelegt hast, muss du sie nicht nochmal als Variable deklarieren. Das macht keinen Sinn.

der einfachste Weg, Checkboxen zurückzusetzen ist, dass man die Checkboxen mit einer Ausgabezelle verknüpft und dann in diese Ausgabezellen den Wert FALSE reinschreibt.
wenn man die Ausgabezellen in einem Zellbereich zusammenfasst, reicht dazu dann ein einziger Befehl.
dann muss man auch nicht zwischen ActiveX und Formular unterscheiden.
Gruß Daniel
Anzeige
AW: CheckBox ansprechen
03.07.2024 13:26:56
sandra
Hallo Daniel,

ich danke Dir, dass wusste ich nicht, dass man die Checkboxen auch anders herum steuern kann.

Ist auf jeden Fall einfacher.

Könntest Du mir evtl. noch verraten wie ich die Zelle mit WAHR oder FALSCH überwachen kann, damit ein Makro ausgeführt wird?
Ich hab es mit "Private Sub Worksheet_Change(ByVal Target As Range)" versucht, aber das funktioniert einfach nicht!

VG
Sandra
Anzeige
AW: CheckBox ansprechen
05.07.2024 16:51:23
schauan
Hallo Sandra,

1)
wenn Du bei einer Änderung einer Checkbox etwas auslösen willst, solltest Du das über die entsprechenden Ereignisse tun und nicht die verknüpfte Zelle überwachen und darauf reagieren.
2)
Falls Du Ereignismakros der Checkboxen für irgendwelche Aktionen nutzt, müsstest eventuell auch beachten, dass diese beim Zurücksetzen nicht ausgeführt werden. Kann man z.B. triggern, wenn man beim Rücksetzen erst eine globale Variable auf True setzt und in den Ereignissen diese Variable prüft. Am Ende setzt man die Variable wieder auf False.
3)
Falls das Rücksetzen der abhängigen ActiveX bedeutet, dass eine von beiden auf True steht, kann man natürlich nicht alle auf False setzen :-)
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige