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:
MAKRO FÜR OBJEKTE AUS DER SYMBOLLEISTE STEUERELEMENT-TOLLBOX:
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.
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 SubMAKRO 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 SubIch 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
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

