Clever-Excel-Forum

Normale Version: VBA: Ansprechen mehrerer OptionButtons in Userform
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen, ich melde mich heute mal mit einem geschäftlichen Problem: ;)

Ich habe eine UserForm erstellt, welche im Sinne einer Datenbank die Eingaben erleichtert. Nun haben wir verschiedene Produkte in verschiedenen Kategorien. Diese Produkte habe bzw. möchte ich per OptionButtons (aus der Werkzeugsammlung) auswählen, da pro Eingabe nur ein Produkt (also ein OptionButton) ausgewählt werden soll.

Im Kopf hatte ich die relativ einfache, aber aufwändige Lösung (diese müsste ich ja für alle OptionButtons programmieren):
Code:
If OptionButton1.Value = True Then Cells(lastZeileLieferwerk,2).Value=opt.Caption 'sehr aufwändige Lösung, aber machbar

Nun zu meiner Frage:
Ist es möglich die 12 OptionButtons innerhalb eines Codes zu prüfen und die Caption jeweils in Spalte 2 einzutragen? Habe eine Lösung über den Gruppennamen versucht, die hat aber nicht geklappt.

Anbei ein Code, bei welchem VBA nicht meckert, jedoch auch nichts in Spalte B einträgt (d.h. alle anderen Eingaben werden getätigt):
Code:
  For Each opt In frmLieferwerkHinzufügen.Controls
    If TypeOf opt Is OptionButton Then
      If opt.Value = True Then Cells(lastZeileLieferwerk, 2).Value = opt.Caption
    End If
Next

Weitere Infos:
  • "lastZeileLieferwerk" ist schlicht die letzte freie Zeile, in welcher jeweils der Eintrag getätigt wird.
  • In meiner UserForm habe ich diese 12 OptioButtons, ansonsten sind TextBoxen vorhanden.
  • Die OptionBoxen sind alle sprechend benannt, d.h. z.B. "optPumpe" oder "optSteigrohr" - dass nur falls eine Lösung mit Nummerierung auftritt (sorry!)
Ich hoffe, die Angaben sind soweit hilfreich.

Schonmal vielen Dank im Voraus, HAMRacer44
Hallo,
If TypeOf opt Is MSForms.OptionButton Then
Gruß Uwe
Hallo Kuwer,

da haben sich meine löchrigen VBA-Kenntnisse deutlich gemacht.

Dennoch danke, funktioniert perfekt.

Gruß HAMRacer