Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Optionsfelder im aktiven Blatt wieder zurücksetzen

Forumthread: Optionsfelder im aktiven Blatt wieder zurücksetzen

Optionsfelder im aktiven Blatt wieder zurücksetzen
17.06.2013 08:48:36
Simon
Hallo Zusammen,
ich habe ein Arbeitsblatt, das einen Fragebogen darstellt, in dem verschiedene Optionsfelder angeklickt werden können. Jeweils sechs dieser Optionsfelder, die damit Sie zueinander zugeordnet sind, befinden sich immer in einem Gruppenfeld. Die Optionsfelder würde ich gern wieder zurücksetzen, damit der Fragebogen neu ausgefüllt werden kann.
Dazu habe ich mir folgendes zusammen gekleistert:

Dim objOBtn As Object
For Each objOBtn In ActiveSheet.Shapes
If objOBtn.Name Like "Optionsfeld *" Then
objOBtn.DrawingObject.Value = False
End If
Next

Das ganze funktioniert, nur bisher setzt er immer nur die ersten fünf Gruppen a sechs Optionsfelder wieder zurück.
Ich habe jetzt zwei Fragen:
Bin ich die Sache falsch angegangen, müsste die Lösung anders aussehen?
Und, wie kann meine herangehensweise so modifiziert werden, damit diese funktioniert?

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Optionsfelder im aktiven Blatt wieder zurücksetzen
17.06.2013 09:06:12
Beverly
Hi Simon,
wenn nur die ersten 5 Gruppen zurückgesetzt werden und die anderen nicht - verwendest du bei den anderen vielleicht andere Steuerelemente?


AW: Optionsfelder im aktiven Blatt wieder zurücksetzen
17.06.2013 09:28:31
Simon
Nein, das kann ich ausschließen. Ich habe jetzt herausgefunden, es liegt an der Nummerierung der Optionsfelder. Die ersten heißen Optionsfeld 1-30, der Rest hat dreistellige Nummern. Daran scheint es zu liegen, sobald ich ein dreistelliges Optionsfeld mit einer zweistelligen Nummer versehe geht es. Alle Optionsfelder umzubennen ist leider nicht die Lösung, denn im fertigen Formular werde ich über 100 Optionsfelder haben.
Gerade habe ich folgendes probiert, hat aber auch nicht funktioniert:
Dim objOBtn As Object
For Each objOBtn In ActiveSheet.Shapes
If objOBtn.Name Like "Optionsfeld *#*" Then
objOBtn.DrawingObject.Value = False
End If

Und, um alle mit dreistellen auszublenden (was komischerweise auch nicht funktioniert hat, hab ich noch das hier probiert:
Dim objOBtn As Object
For Each objOBtn In ActiveSheet.Shapes
If objOBtn.Name Like "Optionsfeld ###" Then
objOBtn.DrawingObject.Value = False
End

Next

Anzeige
AW: Optionsfelder im aktiven Blatt wieder zurücksetzen
17.06.2013 09:37:18
Beverly
Hi Simon,
Formular-Steuerelemente kann man auch mit ihrem Typ ansprechen, also unabhängig vom Namen:
Sub OptionsfelderAuflisten()
Dim optElement As OptionButton
For Each optElement In ActiveSheet.OptionButtons
MsgBox optElement.Name
Next optElement
End Sub


Anzeige
AW: Optionsfelder im aktiven Blatt wieder zurücksetzen
17.06.2013 09:40:45
Simon
Hi Karin,
super, das ist genau das was ich brauche.
Ein ganz ganz großes Dankeschön!
;
Anzeige
Anzeige

Infobox / Tutorial

Optionsfelder im aktiven Blatt zurücksetzen


Schritt-für-Schritt-Anleitung

  1. Öffne das Excel-Dokument mit dem Fragebogen, auf dem sich die Optionsfelder befinden.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke im Projekt-Explorer mit der rechten Maustaste auf „VBAProject (DeinDateiname)“.
    • Wähle „Einfügen“ > „Modul“.
  4. Kopiere den folgenden Code in das Modul:

    Sub OptionsfelderZuruecksetzen()
       Dim objOBtn As Object
       For Each objOBtn In ActiveSheet.Shapes
           If objOBtn.Name Like "Optionsfeld *" Then
               objOBtn.DrawingObject.Value = False
           End If
       Next
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Starte das Makro:

    • Drücke ALT + F8, wähle „OptionsfelderZuruecksetzen“ und klicke auf „Ausführen“.

Damit werden alle Optionsfelder auf dem aktiven Blatt zurückgesetzt.


Häufige Fehler und Lösungen

  • Problem: Nur die ersten fünf Gruppen der Optionsfelder werden zurückgesetzt.

    • Lösung: Stelle sicher, dass alle Optionsfelder korrekt benannt sind (z.B. "Optionsfeld 1", "Optionsfeld 2"). Achte darauf, dass die Namensgebung einheitlich ist.
  • Problem: Der Code funktioniert nicht für dreistellige Optionsfelder.

    • Lösung: Überprüfe, ob die Namenskonventionen der Optionsfelder einheitlich sind. Ändere den Code zu:
    If objOBtn.Name Like "Optionsfeld *#" Then

    Dies stellt sicher, dass auch dreistellige Optionen zurückgesetzt werden.


Alternative Methoden

Eine alternative Methode zur Rücksetzung der Optionsfelder ist die Verwendung von OptionButton-Objekten. Hier ist ein Beispiel:

Sub OptionsfelderAuflisten()
    Dim optElement As OptionButton
    For Each optElement In ActiveSheet.OptionButtons
        optElement.Value = False
    Next optElement
End Sub

Diese Methode ermöglicht es dir, direkt auf die Optionsbuttons zuzugreifen, unabhängig von ihrem Namen.


Praktische Beispiele

Wenn du ein Arbeitsblatt mit mehreren Gruppen von Optionsfeldern hast, kannst du den Code anpassen, um spezifische Gruppen zurückzusetzen. Hier ist ein Beispiel:

Sub SpezielleGruppenZuruecksetzen()
    Dim objOBtn As Object
    For Each objOBtn In ActiveSheet.OptionButtons
        If objOBtn.GroupName = "Gruppe1" Then
            objOBtn.Value = False
        End If
    Next objOBtn
End Sub

In diesem Beispiel werden nur die Optionsfelder der Gruppe „Gruppe1“ zurückgesetzt.


Tipps für Profis

  • Verwende aussagekräftige Namen für deine Optionsfelder, um die Wartung zu erleichtern.
  • Teste den Code in einer Kopie deiner Excel-Datei, um ungewollte Änderungen zu vermeiden.
  • Dokumentiere deine Makros mit Kommentaren, damit du später nachvollziehen kannst, was jeder Abschnitt des Codes bewirkt.

FAQ: Häufige Fragen

1. Wie kann ich alle Optionsfelder in einem Arbeitsblatt zurücksetzen?
Benutze den bereitgestellten VBA-Code, um alle Optionsfelder im aktiven Blatt zu finden und deren Wert auf False zu setzen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und später) funktionieren. Achte jedoch darauf, dass die Steuerelemente korrekt konfiguriert sind.

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