Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Umbennung von Kontrollkästchen
#1
Sehr geehrtes Forum,

ich habe ein Makro geschrieben, welches Häkchen die in Kontrollkästchen gesetzt sind wieder rausnimmt.
Als for schleife habe ich 1 to ActiveSheet.shapes.count gewählt, sodass ich nicht immer die Anzahl erhöhen muss.
Mein Problem ist, dass diese Art der For Schleife nur funktioniert, wenn die Kästchen richtig benannt sind, nicht im Textfeld, sondern im Namensfeld.
Wenn ich nun schon Kästchen erstellt habe, diese aber wieder gelöscht habe, weil etwas nicht gestimmt hat, dann wird eine Zahl übersprungen, 
sprich zwischen Kontrollkästchen 15 und Kontrollkästchen 17 fehlt die 16.
Das behebe ich indem ich die Kästchen alle einzeln umbennene.
Gibt es eine Art und Weise das cleverer zu machen ?
Des Weitern habe ich das Problem, dass ich bestimmte Bennennungen nicht wählen kann, jedoch ist das komplett random.
In der einen Mappe kann ich die Bezeichnung: Kontrollkästchen 18 , nicht wählen, in der anderen geht : Kontrollkästchen 21, nicht.
Hat jemand ne Ahnung woran das liegt und wie ich das umgehen kann ?
Es gibt noch keine Kästchen in der jeweiligen Mappe die bereits diesen Namen tragen.

Mit freundlichen Grüßen
Eric Eichstädt
Antworten Top
#2
Hallo,

teste mal, ob dieser Code hilft:

Code:
Sub T_1()
Dim WS As Worksheet: Set WS = ActiveSheet
Dim Cbx As CheckBox

For Each Cbx In WS.CheckBoxes
     debug.print Cbx.name
     Cbx.Value = False
Next Cbx
End Sub

mfg
Antworten Top
#3
Moin!
Abseits der (natürlich) korrekten Antwort von Fennek:
(und auch aufgrund Deines anderen Threads, den ich kurz überflogen habe)

Du verrennst Dich da in etwas, was Dir irgendwann über den Kopf hinaus wächst, Eric!
Nimm hübsche Wingdings-Zeichen, die man hervorragend auswerten kann.
Das handeln mittels VBA ist dann ebenfalls ein Klacks.
Hier mal ein how to:
http://www.clever-excel-forum.de/Thread-...mal-anders

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste