Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

optionsfelder und kontrollkästchen alle deaktivieren





Frage

Hallo ihr Lieben, Wäre nett, wenn mir jemand helfen würde. Ich habe eine Excel Tabelle mit vielen Kontrollfeldern und Optionsfelder. Nun werden vom Benutzer verschiedene Kontrollfelder angeklickt, wobei sich die Eigenschaften des Kontrollfeldes verändert: Der "Value" änder sich von "falsch" (also ohne Häkchen) auf "wahr" (der Benutzer hat das Kontrollfeld angeklickt und somit einen Haken gemacht). Bei den Optionsfeldern analog. So nun das Problem. Ich möchte, dass der Benutzer wenn er mit der Eingabe fertig ist ein Makro anklicken kann, dass alle Kontrollfelder wieder mit "Value" = "falsch" versieht. D.h. alle Kontrollfelder erscheinen wieder wie in der Ausgangssituation ohne Haken. Bei den Optionsfeldern werden bestimmte mit "Punkt" und andere "ohne Punkt" dargestellt. Eben so, wie die Ausgangssituation beim öffnen der Tabelle war. Hat Jemand eine Idee, wie das geht? Ich habe schon ein Makro geschrieben, dass in alle "Linked Cell" der jeweiligen Kontrollfelder "falsch" reinschreibt, dadurch steht aber in den Eigenschaften des Kontrollfeldes bei "Value" nicht "falsch" sondern " ". Was kann ich sonst noch ausprobieren? Danke und viele Grüße Tina

Antwort 1 von coros

Hallo TIna,

es wäre hilfreich gewesen, wenn Du geschrieben hättest, aus welcher Symbollieste die Objekte stammen, da je nachdem diese Objekte verschieden angesprochen werden müssen.Es gibt diese Objekte in der Symbolleiste Formular und Steuerelement-Toolbox. Ich habe mal für beides ein Makro erstellt. Kopiere nachfolgende Makros jeweils in ein eigenes StandardModul.

MAKRO FÜR OBJEKTE AUS DER SYMBOLLEISTE FORMULAR:

Option Explicit

Sub Control_Shapes_deaktivieren()
Rem: Deaktiviert alle Kontrollkästchen und Optionsbutton
Rem: aus der Symbolleiste "Formular"
Dim myShape As Shape
Application.ScreenUpdating = False
On Error Resume Next
For Each myShape In ActiveSheet.Shapes
If myShape.FormControlType = xlCheckBox _
Or myShape.FormControlType = xlOptionButton Then _
myShape.OLEFormat.Object.Value = 0
Next
End Sub



MAKRO FÜR OBJEKTE AUS DER SYMBOLLEISTE STEUERELEMENT-TOLLBOX:

Option Explicit

Sub Ole_Shapes_deaktivieren()
Rem: Deaktiviert alle Kontrollkästchen und Optionsbutton
Rem: aus der Symbolleiste "Steuerelement-Toolbox"
Dim myShape As Shape
On Error Resume Next
Application.ScreenUpdating = False
For Each myShape In ActiveSheet.Shapes
If myShape.Type = msoOLEControlObject Then _
If myShape.OLEFormat.progID Like "*CheckBox*" Or _
myShape.OLEFormat.progID Like "*OptionButton*" Then _
myShape.OLEFormat.Object.Object.Value = False
Next
End Sub


Ich hoffe, Du meintest das so. Bei Fragen melde Dich bitte wieder.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Tiny

Hallo Oliver,

ich hatte mich schon mit einer E-Mail bei Dir bedankt, aber ich habe das Gefühl, die ist irgendwie nicht richtig abgeschickt worden. Also, bevor Du gar kein Dankeschön bekommst hier noch einmal...

Vielen lieben Dank, Deine Programmierung hat super funktioniert und so konnte ich die Datei super schnell fertig stellen.

Also, weiter so ;-) und Dir eine schöne Vorweihnachtszeit.

Liebe Grüße Tina