VBA Kombi von Optionbuttons Wertebereich zuordnen

Hallo!

Ich habe das Problem das ich zwei Variable habe, die über Optionbuttons auf einer UserForm ausgewählt werden sollen. Der jeweiligen Kombination soll nun aus der Exeltabelle der zugehörige Wert mit Range zugewiesen werden. Einige Kombinationen sind auch nicht zulässigen und haben somit keinen Wert der ihnen zugeordnet werden kann.
Gibt es da eine Möglichkeit den ganzen Wertebereich den Optionbuttons zuzuordnen, so dass er sich den passenden Wert raussucht? Vielleicht mit einer Schleife?
Alles einzelt ist zu aufwendig! :frowning:

Ich hoffe das ich mich verständlich augedrückt habe und mir jemand weiterhelfen kann!

T.

Hallo Tina.

Ich habe das Problem das ich zwei Variable habe, die über
Optionbuttons auf einer UserForm ausgewählt werden sollen. Der
jeweiligen Kombination soll nun aus der Exeltabelle der
zugehörige Wert mit Range zugewiesen werden. Einige
Kombinationen sind auch nicht zulässigen und haben somit
keinen Wert der ihnen zugeordnet werden kann.
Gibt es da eine Möglichkeit den ganzen Wertebereich den
Optionbuttons zuzuordnen, so dass er sich den passenden Wert
raussucht? Vielleicht mit einer Schleife?
Alles einzelt ist zu aufwendig! :frowning:

Ein wenig unverständlich finde ich es schon.

Wieviele OptionButtons hast Du denn? Kombinationen bei OptionButtons wären ja nur möglich, wenn Du mindestens zwei Gruppen mit jeweils mindestens zwei OptionButtons hast.

Bitte beschreibe das Problem mal etwas genauer.

Viele Grüße
Carsten

Also das Programm dient zur Berechnung von Druckspannungen. Es gibt eine Gruppe von fünf Optionbuttons (Mörtelgruppen)und eine Gruppe von 10 Optionbuttons (Steinfestigkeitsklasse).
Aus der Kombination der Mörtelgruppe und der SFK ergibt sich die Normalspannung. Die Werte für die Normalspannung stehen schon in einem Worksheet.
Die Frage is jetzt ob ich jeder Kombination den Wert mit Range oder Cells zuweisen muss,

z.B.
…OptionButton1 = True And OptionButton6 = True Then
sigmanull = Worksheets(„Grundwerte“).Range(„D9“)
…usw.

oder ob es da eine andere Möglichkeit gibt das zusammenzufassen.

Gruß

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Die Frage is jetzt ob ich jeder Kombination den Wert mit Range
oder Cells zuweisen muss,
…OptionButton1 = True And OptionButton6 = True Then
sigmanull = Worksheets(„Grundwerte“).Range(„D9“)
…usw. oder ob es da eine andere Möglichkeit gibt das zusammenzufassen.

Hi Tina,
ist jetzt ohne UF, aber das ist ja erstmla egal. Ist eine Lösung mit 2 Comboboxen und einem Textfeld.
Der Code ist auf die nachdstehende Tabelle2 bezogen. ListFillrange für combobox1 ist Tabelel2!A2:A6 für die andere Tabelel2!A1:A19 (Da stehen nochmal die Gruppennamen.

Option Explicit

Private Sub ComboBox1_Change()
TextBox1 = Worksheets(„Tabelle2“).Cells(ComboBox1.ListIndex + 2, ComboBox2.ListIndex + 2)
End Sub

Private Sub ComboBox2_Change()
TextBox1 = Worksheets(„Tabelle2“).Cells(ComboBox1.ListIndex + 2, ComboBox2.ListIndex + 2)
End Sub

Tabellenblattname: Tabelle2

 A B C D E F
 1 Gruppe1 Gruppe2 Gruppe3 Gruppe4 usw. 
 2 Mörtel1 12 4 55 7 
 3 Mörtel2 334 geht nicht 56 45 
 4 Mörtel3 4 7 7 7 
 5 Mörtel4 2 34 geht nicht 77 
 6 Mörtel5 2 5 4 8 
 7 
 8 
 9 
10 Gruppe1 
11 Gruppe2 
12 Gruppe3 
13 Gruppe4 
14 Gruppe5 
15 Gruppe6 
16 Gruppe7 
17 Gruppe8 
18 Gruppe9 
19 Gruppe10 

 Tabelle eingefügt mit Reinhards Tabelleneinfüger Version 1.0 

Gruß
Reinhard

Hallo Tina.

Ich setze mal voraus, daß Deine Werte im Bereich A1:E10 steht.

Wenn Du dann der Tag-Eigenschaft der Optionbuttons 1 bis 5 die Werte A bis E zuweist und der Tag-Eigenschaft der Optionbuttons 6 bis 15 die Werte 1 bis 10, dann könntest Du folgendes Prinzip verwenden:

Private Bereich As String
Private Spalte As String
Private Zeile As Long
 
Private Sub SchreibeRange()
 Bereich = Spalte & CStr(Zeile)
 sigmanull = Worksheets("Grundwerte").Range(Bereich)
End Sub
 
Private Sub OptionButton1\_Click()
 Spalte = OptionButton1.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton10\_Click()
 Zeile = OptionButton10.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton11\_Click()
 Zeile = OptionButton11.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton12\_Click()
 Zeile = OptionButton12.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton13\_Click()
 Zeile = OptionButton13.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton14\_Click()
 Zeile = OptionButton14.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton15\_Click()
 Zeile = OptionButton15.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton2\_Click()
 Spalte = OptionButton2.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton3\_Click()
 Spalte = OptionButton3.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton4\_Click()
 Spalte = OptionButton4.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton5\_Click()
 Spalte = OptionButton5.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton6\_Click()
 Zeile = OptionButton6.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton7\_Click()
 Zeile = OptionButton7.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton8\_Click()
 Zeile = OptionButton8.Tag
 SchreibeRange
End Sub
 
Private Sub OptionButton9\_Click()
 Zeile = OptionButton9.Tag
 SchreibeRange
End Sub
 
Private Sub UserForm\_Initialize()
 Spalte = OptionButton1.Tag
 Zeile = OptionButton6.Tag
 SchreibeRange
End Sub

Viele Grüße
Carsten

Vielen Dank an euch Beide!

Habe beide probiert, etwas umgeschrieben und dann hats geklappt.
Super!!

Lieben Gruß

Tina