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

Forumthread: Makro: Dropdown und checkboxes verbinden

Makro: Dropdown und checkboxes verbinden
30.07.2024 08:01:16
JanTH
Hallo!

Ich überarbeite derzeit für meine Arbeitsstelle Checklisten zur Planung von Veranstaltungen, die von Word(!) auf Excel umgestellt werden. Dabei möchte ich die Möglichkeiten, die Excel bietet, auch nutzen, um mit möglichst wenigen Klicks die wichtisten Schritte abzuprüfen.

Schnell wurde klar, ich brauche Makros und da bin ich leider raus. Ich habe eine Weile rumprobiert, bin mit ChatGPT auch anfänglich gut gefahren, aber jetzt geht es nicht mehr. Das mag auch daran liegen, dass irgendwas mit der Datei nicht stimmt (deaktivierte Makros etc.).

Ich habe ChatGPT folgende aufgabe gestellt:

Ich benötige ein Makro für eine Excel-Liste.

Diese umfasst fünf Arbeitsblätter in folgende Reihenfolge: "Checkliste", "Möblierung", "Bewirtung", "Technik", "Makros für Tabelle".

In der Tabelle befindet sich ein Dropdownmenü mit den Einträgen: "bitte auswählen!", "Vortrag mit Publikumsgespräch", "Podiumsdiskussion", "Buchvorstellung", "Sonderveranstaltung".

In Spalte A befinden sich insgesamt 42 Kontrollkästchen als array. Diese sind laufend bezeichnet als "box" und den Zahlen von 1 bis 42.

Das Makro soll folgende Funktionen haben:

Dropdownauswahl = "bitte auswählen!" gewählt, dann wird kein Kontrollkästchen markiert. Alle bereits markierten Kontrollkästchen verlieren ihre Markierung.

Dropdownauswahl = "Vortrag mit Publikumsgespräch" oder "Podiumsdiskussion" oder "Buchvorstellung" oder "Sonderveranstaltung" gewählt, dann werden alle Kontrollkästchen markiert bis auf box14, box19, box21, box24, box 25, box36, box38.


Antwort von ChatGPT:

Private Sub Worksheet_Change(ByVal Target As Range)
' Überprüfen, ob sich die geänderte Zelle im Dropdown-Menü befindet
If Not Intersect(Target, Me.Range("C2")) Is Nothing Then
Dim chkBox As CheckBox
' Schleife durch alle Kontrollkästchen im Arbeitsblatt "Checkliste"
For Each chkBox In Me.CheckBoxes
If Target.Value = "bitte auswählen!" Then
' Alle Kontrollkästchen deaktivieren
chkBox.Value = xlOff
Else
' Bestimmte Kontrollkästchen deaktiviert lassen
Select Case chkBox.Name
Case "box14", "box19", "box21", "box24", "box25", "box36", "box38"
chkBox.Value = xlOff
Case Else
' Alle anderen Kontrollkästchen aktivieren
chkBox.Value = xlOn
End Select
End If
Next chkBox
End If
End Sub


Ich hatte vorher einmal angegeben, dass ich das dropdownmenü in C2 positioniert habe. Aber sind Menü und C2 überhaupt verknüpft? Außerdem habe ich der Optik halber C2-F2 verbunden (aber in der Funktionsleiste wird C2 für das Menü genannt).

Nun ist es so:
- Im einem Fall gibt Excel einen Kompilierungsfehler aus: "me" bei "me.range" sei unzulässig. Warum ist das so?
- Im anderen Fall sagt Excel, das Makro sei nicht verfügbar in der Arbeitsmappe oder alle Makros seien deaktiviert. Habe in der "Makrosicherheit" alle Optionen aktiviert, die Makrozugriff zulassen.

Kann mir jemand helfen?

Vielen Dank und beste Grüße
J
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 08:17:15
Oberschlumpf
Moin,

stell dir mal vor "wir bzw einer von uns ist ChatGPT"

Deine "Aufgabe", bzw deine Wünsche kennen wir nun.

Zeig uns bitte per Upload eine Excel-Bsp-Datei mit genügend Bsp-Daten in den richtigen Zeilen/Spalten, und auch die CheckBoxen dürfen nicht fehlen.
(wobei: ich würde alle CheckBoxen komplett weglassen, da nur das Anklicken einer Zelle nicht nur einfacher zu programmieren ist, sondern: man spart sich das manuelle Hinzufügen weiterer CheckBoxen (wenn erforderlich), und man spart sich auch das Löschen von CheckBoxen, die nicht mehr erforderlich sind)

Ciao
Thorsten
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 12:00:21
Herbert Grom
Hi Jan,

schau dir mal meine "Checkliste (2)" in der beigefügten AM an. Die "Checkboxen" sind jetzt alle als Windings-Zeichen in der Spalte A. Wenn du auf eines klickst, wird es entweder an- oder abgehakt. Deine Dropdownbox funktioniert so wie du es wolltest. Teste es mal.

Servus

https://www.herber.de/bbs/user/171337.xlsm
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 15:24:31
daniel
Hi
schau dir das mal an.
hier brauchst du kein Makro, es wird alles über Formeln geregelt.
in den ausgeblendeten Spalten legst du fest, welcher Haken bei welcher Auswahl gesetzt werden muss (1 eintragen)
ich hab für Demo-Zwecke mal zufällig was eingetragen.
ich hab erst nur mal die Boxen in der Spalte A überarbeitet.
https://www.herber.de/bbs/user/171350.xlsx
Gruß Daniel
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
02.10.2024 17:51:03
JanTH
Lieber Daniel,

das ist mir wirklich peinlich - aber ich sehe jetzt erst (wo ich eine neue Frage habe), dass ich noch nicht geantwortet und auch noch keinen Dank abgestattet habe. Dein Vorschlag hat mir sehr weitergeholfen und ich konnte alles gut für unsere Arbeit übertragen. Also ganz herzlichen Dank!

Vielleicht magst du mir mit meiner neuen Frage helfen: Was in deinem Beispiel jetzt nicht möglich ist: Ich kann die "gesetzten" Haken (=Kästchen mit Haken) in Spalte A mit Klick auf sie nicht mehr manuell "deaktivieren" = also Kästchen ohne Haken. Dies wäre aber wichtig. Also: Kann man das quasi als zweite Funktion hinzubauen?

Allerbeste Grüße
J
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
02.10.2024 17:59:40
Oberschlumpf
Hi,

hier, in diesem Beitrag, ist antworten nur noch für die möglich, die bis jetzt hier schon mal eine Antwort abgegeben haben.
Für alle andern ist dieser Beitrag ins Archiv verschoben = Antworten für andere nich mehr möglich.

Erstell einen neuen Beitrag mit deiner Zusatzfrage.

Ciao
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 13:19:21
JanTH
Hey Herbert,

ich danke dir, das sieht ja toll aus. Kannst du mir erklären, wie du das technisch gemacht hast? Also das Makro konnte ich nachvollziehen (glaube ich). Aber die "neuen" Kontrollkästchen als Wingdings-Symbole zu nutzen, kann ich nicht reproduzieren. Würde das gerne noch an ein paar anderen Stellen nutzen - ohne eine Verbindung zum Dropdown.

Schöne Grüße
J
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 15:48:54
Herbert Grom
Hallo Jan,

das Haken setzen/löschen wird mit dem Makro "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" im Klassenmodul der Tabelle3 erreicht.

Aber die "neuen" Kontrollkästchen als Wingdings-Symbole zu nutzen, kann ich nicht reproduzieren.
Wieso nicht? Das sind die Windingssymbole "þ" für den Haken und das "¨" für das leere Kästchen. Im VBA-Editor wird das "þ" allerdings so angezeigt: "ƫ". Die kannst du überall einsetzen.

Servus
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 09:00:56
JanTH
Moin Thorsten,

danke dir. Hochgeladen habe ich eine Datei mit jetzigem Arbeitsstand - habe alle persönlichen und institutionellen Hinweise entfernt, deswegen wirkt die Mappe wahrscheinlich unvollständig. Aber die wesentlichen Einträge sind da: https://www.herber.de/bbs/user/171332.xlsx

Ich find deinen Hinweis, Zellen statt Kontrollkästchen zu nutzen, ziemlich gut. Aber gibt es dafür eine Lösung, die so "sichtbar" bzw. sofort einleuchtend/intuitiv ist wie das Setzen von Häkchen in einem Kästchen? Ich denke an meine Kolleginnen und Kollegen, die Excel fast gar nicht nutzen.

Schönen Gruß und vielen Dank
J
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 09:17:50
Oberschlumpf
Hi,

Zitat:
"Diese umfasst fünf Arbeitsblätter in folgende Reihenfolge: "Checkliste", "Möblierung", "Bewirtung", "Technik", "Makros für Tabelle". "

ähh??? Hatte ich zwar nich in der Auflistung erwähnt (weil ich es vergessen hatte), dass natürlich auch alle Blätter, die vom Code angesprochen werden sollen, in der Bsp-Datei enthalten sein müssen...

Aber ok, nun erwähne ich es: In der Bsp-Datei müssen die von dir genannten Blätter natürlich auch enthalten sein.

Bitte per Upload neue Bsp-Datei zeigen.

Ciao
Thorsten
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 09:34:05
daniel
Hi

Im Zeichensatz Wingdings findest du Zeichen, die aussehen wie Checkboxen mit und ohne Haken.

Ich würde das so machen:

In Spalte G schreibst du jede Veranstaltungsart, bei der diese Zeile angekreuzt werden soll, mit Komma oder Semikolon getrennt.

In Spalte A kommt dann diese Formel (A10)
=wenn(Istzahl(Finden($C$2;G10));"x";"-")
Das "x" und "-" kannst du noch durch die Zeichen ersetzten, die in Wingdings wie Checkboxen aussehen.

Zusätzlich würde ich die Zeilen noch über die bedingte Formatierung Kennzeichnen, bspw Schriftfarbe Grau für nicht aktive Zeilen.

Gruß Daniel
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 09:29:02
JanTH
Hi Thorsten,

stimmt, das hatte ich in der ursprünglichen Anfrage geschrieben und dann ebenfalls vergessen - aber diese Arbeitsblätter werden aus meiner Sicht erstmal nicht benötigt für die Frage nach dem Makro Dropdown/Kontrollkästchen (auch weil sie noch gar nicht fertig vorbereitet sind). Das Makro, für das ich Hilfe benötige, bezieht sich ja nur auf das erste Arbeitsblatt.

Das Arbeitsblatt "Makros Tabelle" habe ich dennoch in Ausschnitten eingefügt, hier kommt der neue Upload: https://www.herber.de/bbs/user/171333.xlsx

Schönen Gruß
J
Anzeige
AW: Makro: Dropdown und checkboxes verbinden
30.07.2024 12:15:00
Oberschlumpf
Hi,

nun bin auch ich fertig, aber Herbert war schneller.

Ich hab in meiner Datei auch WingDings als Schriftart für die "CheckBox"-Spalte gewählt.
Allerdings hab ich ein anderes "Füllzeichen" verwendet.

https://www.herber.de/bbs/user/171338.xlsm

Auch wenn vllt nich mehr erforderlich, wollt ich mein Ergebnis trotzdem zeigen :-)
Konnte ich denn (auch) helfen?

Ciao
Thorsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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