Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1448to1452
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Kontrollkästchen mit VBA ansprechen
21.09.2015 18:56:22
Astaldo
Hallo zusammen
Ich bin einmal mehr an die Grenzen meines Wissens gekommen. Folgendes Ausgangslage: Ich habe mehrere Kontrollkästchen, welche in einer Exceltabelle Reihen ein- und ausblenden. Dies Funktioniert auch tadellos. Nun möchte ich aber noch ein weiteres Kästchen machen, welches alle Kontrollkästchen (oder eine ausgewählte Menge davon) aktiviert, respektive deaktiviert. Leider kann ich keine Checkboxen verwenden (sind visuell nicht sichtbar genug) und muss es deshalb mit den Formularobjekten Kontrollkästchen machen.
Bei Befehlen wie:
Kontrollkästchen1.Value = True
erhalte ich Fehlermeldungen, dass die Methode nicht unterstützt wird. Genau so, wenn ich das Ganze um einen If-Then-Else-Befehl aufbaue. Gibt es hier eine Möglichkeit, dies umzusetzten, oder ist das bei Formularelementen garnicht erst möglich?
Vielen Dank für eure Hilfe schon im Voraus.
Astaldo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontrollkästchen mit VBA ansprechen
21.09.2015 19:02:30
Nepumuk
Hallo,
so:
Worksheets("Tabelle1").Shapes("Check Box 1").ControlFormat.Value = 1

Gruß
Nepumuk

AW: Kontrollkästchen mit VBA ansprechen
21.09.2015 19:10:03
Daniel
Hi
wenn du ein Formularsteuerelement per Makro ansprechen willst, dann so:
ActiveSheet.Shapes("Check Box 1").OLEFormat.Object.Value
bei Formularsteuerelementen bietet sich aber an, diese jeweils mit einer Ausgabezelle zu verknüpfen.
in dieser Zelle steht dann der Checkboxzustand mit WAHR oder FALSCH, du kannst aber auch durch eingabe in diese Zelle die Checkbox steueren.
für dein Vorhaben kannst du dann bei Klick auf die Checkbox auch einfach die entsprechenden Zellen verwenden ohne dass du dich um die Objekte kümmern musst.
das ist dann von der Programmierung her etwas einfacher, dafür musst du halt immer Checkbox und Zelle gemeinsam pflegen, wenn du irgendwelche Änderungen machst.
weiterer Vorteil ist, durch die Verknüpfung mit der Zelle wird der Checkboxzustand mit gespeichert und die Checkbox hat beim nächsten Öffnen nicht den automatischen Startwert, sonden den wert, den sie beim Speichern hatte.
Damit passt dann der Checkboxwert automatisch immer zum Ein/Ausblendezustand der Spalten, ohne dass du das beim Öffnen der Datei abgleichen musst.
Gruß Daniel

Anzeige
AW: Kontrollkästchen mit VBA ansprechen
22.09.2015 16:27:45
Astaldo
Hallo Daniel
Der Ansatz gefällt mir sehr gut. Teilweise konnte ich ihn auch für die Lösung eines anderen Problems nutzen. Dafür schon mal vielen Dank. Leider aber hab ich nun noch folgende zwei Probleme: Das Kontrollkästchen "Alle Auswählen" funktioniert so leider noch nicht. Wenn ich es auf mehrere Zellen beziehe, ändert es nur den Wert der ersten Zelle (und somit das erste Einzelkontrollkästchen) nicht aber die folgenden Zellen und Kästchen. Mir gefällt diese Idee besser, da keine Makros benötigt werden. Falls es da eine Möglichkeit gibt, wäre ich sehr offen.
Jedoch hab ich unterdessen eine andere Version, alle Kästchen per Checkbox anzusprechen, gefunden. Also mit einem Makro. Hier ist aber das Problem, dass hinter den Kontrollkästchen auch Makros liegen. Diese werden ordnungsgemäss ausgeführt, wenn ich das Kästchen einzeln auswähle. Nicht aber, wenn ich alle Kästchen mit dem Makro auf True setzte. Dann wird der Vorgang hinter dem Kästchen nicht ausgeführt.
Ich hoffe, dies war einigermassen verständlich ausgedrückt. Andernfalls einfach nachfragen.
Freundliche Grüsse
Astaldo

Anzeige
AW: Kontrollkästchen mit VBA ansprechen
22.09.2015 16:43:55
Daniel
HI
das Kontrollkästchen "alle auswählen" ist ein Kontrollkästchen wie alle anderen auch und hat EINE Ausgabezelle.
wenn bei "alle auswählen" auch die Häkchen entpsrechend gesetzt werden sollen, dann geht's nicht ohne Makro, weil du ja dann in alle Zellen eben das WAHR schreiben musst.
wenn du auf das setzen der einzelhaken verzichten kannst, dann geht's auch ohne Makro, in dem du die Prüfung dann nach diesem Schema ausüfhrst: ODER(einzelhaken gesetzt; gesamthaken gesetzt)
bei Formularsteuerelementen wird das zugewiesene Makro nur ausgeführt, wenn du mit der Maus draufklickst, sonst nicht.
dh du musst dass dann das Makro für den Gesamt-Haken entsprechend programmieren, so dass dieses dann auch die Aktionen für die Einzelhaken ausführt.
ansonsten müsstest du dann doch auf ActiveX-Steuerelemente ausweichen, die sind für eine Makroprogrammierung besser geeignet.
Gruß Daniel
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen