Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: OptionButton Gruppe

OptionButton Gruppe
05.05.2008 14:27:00
Tino
Hallo,
habe da mal eine Frage.
Habe eine Userform, auf dieser habe ich 5 OptionButton, diese habe ich zu einer Gruppe
gemacht und auch einen GroupNamen vergeben.
Wie kann ich jetzt diese Gruppe ansprechen um zum Beispiel die Visible Eigenschaft dieser Gruppe zu verändern ohne jeden Button einzeln anzusprechen?
Von Hand kann ich diese Gruppe einstellen (Entwurfsmodus), aber über einen VBA Code bekomme ich es nicht hin.
Danke schon mal für die Hilfe.
Gruß
Tino

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Opt.Buttons in einen FRAME
05.05.2008 15:08:05
NoNet
Hallo tino,
Du könntest die Optionbuttons in einen Frame platzieren und diesen ein-/ausblenden :
Frame1.Visible = False
Oder Du prüfst die Controls einzeln in einer Schleife ("But1" ist der GroupName !) :
VBA-Code:
Private Sub CommandButton1_Click()
    For Each cnt In Me.Controls 'Controls innerhalb des Userforms !
        If TypeName(cnt) = "OptionButton" Then
            If cnt.GroupName = "But1" Then cnt.Visible = False
        End If
    Next
End Sub
Gruß, NoNet

Anzeige
AW: Opt.Buttons in einen FRAME
05.05.2008 15:19:00
Tino
Hallo NoNet,
danke für die Anwort,
genau diese Version wollte ich umgehen, ich dachte, wenn ich im Entwurfmodus diese Gruppe auf einmal verstellen kann, gebe es auch eine VBA Code der dies macht, aber ich kann nichts finden.
Gruß
Tino

AW: Opt.Buttons in einen FRAME
05.05.2008 16:48:03
Renee
Hi Tino,
...genau diese Version wollte ich umgehen
Welche ? Schliesslich hat dir Werner 2 Vorschläge gemacht und ich würde die erste mit dem Frame vorziehen, da es auf irgendeiner Logik basiert (die auch dem Benutzer visuell klarer wird!) wann die Buttons ein- bzw. ausgeblendet werden.
GreetZ Renée

Anzeige
AW: Opt.Buttons in einen FRAME
05.05.2008 17:04:41
Tino
Hallo Renée,
beide.
Die erste weil ich extra ein Frame für jede Gruppe erstellen muss. (40 Gruppen mit je 5 Button)
Die zweite weil ich zu viele Schleifen benötige.
Daher hatte ich an das ansteuern über den Gruppennamen gedacht, aber scheinbar geht das nicht.
Google usw. bringt auch immer wieder die Version mit der Schleife.
Gruß
Tino

Anzeige
AW: Opt.Buttons in einen FRAME
05.05.2008 17:06:06
Tino
omann, immer vergesse ich auf offen zu stellen.

und jetzt hoffst du auf ein Wunder...
05.05.2008 17:52:42
Renee
oder was?
Für eine der beiden Möglichkeiten musst du dich entscheiden, oder nochmals über dein Konzept nachdenken. Wenn du z.B. 40 Gruppen hast, könnten ja 5 Buttons reichen und je nach anderer Gruppe einen anderen Zustand annehmen. Es ist immer wieder das alte Leid, zuerst wird das Design gemacht und nachher schlägt man sich mit der Funktion rum, statt Form follows Function.
GreetZ Renée

Anzeige
Wunder soll es ja geben!
05.05.2008 18:15:16
Tino
Hallo,
ich habe doch meine Frage verständlich ausgedrückt oder liege ich da falsch.
Für mein Vorhaben benötige ich eben diesen Aufbau, der aber wiederum nichts mit meiner eigentlichen Frage zu tun hat.
Meine Frage war nur, ob ich diese Gruppe direkt ansprechen kann, nicht mehr und nicht weniger!
Natürlich bin ich für andere Anregungen immer offen und dafür bedanke ich mich auch, aber dennoch ist meine Frage nicht beantwortet. Geht oder geht nicht
Dabei reicht es aber nicht, wenn ich zBsp. sage es geht nicht, weil ich einfach nur nicht weis wie es geht.
Gruß
Tino

Anzeige
AW: Wunder soll es ja geben!
06.05.2008 07:58:00
Luschi
Hallo Tino,
was Du gerne möchtest, geht in Excel und Winword leider nicht. Das Objekt 'Rahmen/Frame' besitzt leider die Eigenschaft 'Value' nicht, wie man es von Access her kennt.
Ich schreibe in die 'Tag'-Eigenschaft des Rahmens bei jedem Klick auf ein Optionsbutton den Namen des OB. So weiß ich immer, welches OB gerade auf True steht.
Gruß von Luschi
aus klein-Paris
PS: An alle diesjährigen Excel-Treffen-Teilnehmer!
War am WE schon mal in Raddusch ein Bierchen probeschlürfen. Das hat gemundet...

Anzeige
AW: Wunder soll es ja geben!
06.05.2008 14:37:00
Tino
Hallo,
danke, ich werde mir eine Schleife bauen und dem Beispiel 2 von NoNet folgen.
Diese Schleife in eine Sub und an diese Sub den Gruppennamen übergeben.
Danke an alle die mir geholfen haben!
Gruß
Tino
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

OptionButton Gruppe in Excel VBA effektiv nutzen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne Excel und erstelle eine Userform in deinem VBA-Editor.

  2. OptionButtons hinzufügen: Füge mehrere OptionButtons zur Userform hinzu. Diese sollten in einer Gruppe angeordnet sein.

  3. Gruppe benennen: Vergib einen Gruppennamen für deine OptionButtons, um sie später einfacher ansprechen zu können.

  4. VBA-Code einfügen: Verwende den folgenden Code, um die Sichtbarkeit der gesamten OptionButton-Gruppe zu steuern:

    Private Sub CommandButton1_Click()
       Dim cnt As Control
       For Each cnt In Me.Controls
           If TypeName(cnt) = "OptionButton" Then
               If cnt.GroupName = "DeinGruppenName" Then
                   cnt.Visible = False ' oder True, je nach Bedarf
               End If
           End If
       Next
    End Sub
  5. Testen: Starte die Userform und klicke auf den CommandButton, um die Sichtbarkeit der OptionButtons zu überprüfen.


Häufige Fehler und Lösungen

  • Fehler: Gruppe nicht ansprechbar: Wenn du versuchst, die Sichtbarkeit einer OptionButton-Gruppe direkt über ihren Namen zu ändern, wird das nicht funktionieren, da die Gruppe in Excel VBA nicht als solches behandelt wird. Stattdessen musst du über eine Schleife die einzelnen Buttons ansprechen.

  • Lösung: Setze den oben genannten VBA-Code ein, um die Sichtbarkeit der Buttons über die Gruppenbezeichnung zu steuern.


Alternative Methoden

  • Verwendung von Frames: Eine effektive Methode zur Verwaltung von Gruppen ist die Verwendung von Frames. Du kannst deine OptionButtons in einen Frame einfügen und dann die Sichtbarkeit des gesamten Frames steuern:

    Frame1.Visible = False ' oder True
  • Tag-Eigenschaft nutzen: Du kannst auch die Tag-Eigenschaft der OptionButtons verwenden, um den Status zu speichern und später darauf zuzugreifen.


Praktische Beispiele

  1. Ein-/Ausblenden von OptionButtons: Angenommen, du hast 40 Gruppen mit jeweils 5 OptionButtons. Du kannst die Sichtbarkeit jeder Gruppe durch den entsprechenden Code einfach anpassen, ohne jeden Button einzeln ansprechen zu müssen.

    Private Sub CommandButton1_Click()
       For Each cnt In Me.Controls
           If TypeName(cnt) = "OptionButton" And cnt.GroupName = "GruppenName" Then
               cnt.Visible = Not cnt.Visible
           End If
       Next
    End Sub
  2. Benutzerinteraktion: Du könntest auch ein Event einsetzen, das bei der Auswahl eines OptionButtons ausgelöst wird, um andere Steuerelemente basierend auf der Auswahl zu ändern.


Tipps für Profis

  • Verwende benannte Bereiche: Bei großen Userforms mit vielen OptionButtons kann es hilfreich sein, benannte Bereiche oder Variablen zu verwenden, um die Lesbarkeit und Wartbarkeit deines Codes zu verbessern.

  • Modularer Code: Erstelle separate Subroutinen für das Ein- und Ausblenden von Gruppen, um deinen Code sauber und übersichtlich zu halten.

  • Debugging: Nutze Debug.Print, um den Status der OptionButtons während der Laufzeit zu überprüfen und Fehler zu identifizieren.


FAQ: Häufige Fragen

1. Kann ich die Sichtbarkeit einer gesamten OptionButton-Gruppe ohne Schleife ändern?
Leider ist dies nicht möglich. Excel VBA erlaubt es nicht, eine Gruppe von OptionButtons direkt anzusprechen, daher ist eine Schleife erforderlich, um jeden Button einzeln zu bearbeiten.

2. Was ist der Unterschied zwischen OptionButtons und RadioButtons in VBA?
In Excel VBA sind OptionButtons und RadioButtons im Grunde dasselbe. Der Begriff "RadioButton" wird häufig in anderen Programmiersprachen verwendet, während "OptionButton" die offizielle Bezeichnung in Excel VBA ist.

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