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.

VBA: Ansprechen mehrerer OptionButtons in Userform
#1
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
Antworten Top
#2
Hallo,
If TypeOf opt Is MSForms.OptionButton Then
Gruß Uwe
Antworten Top
#3
Hallo Kuwer,

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

Dennoch danke, funktioniert perfekt.

Gruß HAMRacer
Antworten Top


Gehe zu:


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