Anzeige
Archiv - Navigation
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auswahlabhängige Listbox

Auswahlabhängige Listbox
05.02.2005 16:16:05
Rainer
Hilfe,
ich habe ein, zumindest für mich, großes Problem.
Auf einer UserForm habe ich eine CheckBox und drei Comboboxen. (ComboBox1 – “Tarifgebiet!A2:A15”, ComboBox2 –“ Tarifgebiet!C2:C9”, ComboBox3 – “?”).
Die beiden ersten ComboBoxen werden aus dem Sheet (Tarifgebiet!) gefüllt.
Nun soll die ComboBox3 je nach der Kombination der Werte aus der CheckBox (Wahr, Falsch)
und den in den beiden ComboBoxen ausgewählten Werten aus dem Sheet „Gesamt!“
gefüllt werden.
Das bekomme ich mit meinen eher bescheidenen VB-Kenntnissen einfach nicht hin.
Ich würde mich sehr freuen, wenn mir jemand helfen könnte.
Hier habe ich eine Test-Datei hochgeladen:
https://www.herber.de/bbs/user/17499.xls
Rainer T

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswahlabhängige Listbox
Beni
Hallo Rainer,
Gruss Beni

Private Sub ComboBox2_Click()
If ComboBox1.Text = Sheets("Tarifgebiet").Range("c4") And ComboBox2.Text = Sheets("Tarifgebiet").Range("a9") _
And cboOstmitarbeiter.Value = False Then
ComboBox3.RowSource = "Gesamt!i37:i41"
ComboBox3.BoundColumn = 0
ElseIf ComboBox1.Text = Sheets("Tarifgebiet").Range("c4") And ComboBox2.Text = Sheets("Tarifgebiet").Range("a8") _
And cboOstmitarbeiter.Value = False Then
ComboBox3.RowSource = "Gesamt!I32:I36"
ComboBox3.BoundColumn = 0
End If
End Sub

AW: Auswahlabhängige Listbox
05.02.2005 17:39:21
R
Hallo Benni,
vielen Dank für Deine schnelle Hilfe.
Aber, wenn es nicht zu unverschämt ist, gibt es eine variable Lösung?
Im Original habe ich 26 Tarifgebiete, 8 Mitarbeitergruppen und die Checkbox.
daraus ergeben sich ca. 400 Kombinationsmöglichkeiten.
Gruß
Rainer T
Anzeige
AW: Auswahlabhängige Listbox
Beni
Hallo Rainer,
dieser Code sucht in der Tabelle("Gesamt") in Zeile1 die Mitarbeitergruppe und in SpalteA das Tarifgebiet, entsprechend der gefundenen Zeilen/Spalten wird der Bereich für das RowSource festgelegt.
Was muss er ausführen, wenn es Ost-Mitarbeiter sind?
Gruss Beni

Private Sub ComboBox2_Click()
MG = ComboBox1.Text
Set m = Sheets("Gesamt").Rows(1).Find(What:=MG, LookIn:=xlValues, LookAt:=xlWhole)
If Not m Is Nothing Then s = m(1, 1).Column
TG = ComboBox2.Text
Set t = Sheets("Gesamt").Columns(1).Find(What:=TG, LookIn:=xlValues, LookAt:=xlWhole)
If Not t Is Nothing Then z = t(1, 1).Row
sp = Chr(s + 65)
ComboBox3.RowSource = "Gesamt!" & sp & z & ":" & sp & z + 4
End Sub

Anzeige
AW: Auswahlabhängige Listbox
07.02.2005 15:21:25
Rainer
Hallo Benni,
nochmals vielen Dank für Deine Hilfe.
Es funktioniert prima.
Noch ein kleines Problem:
ist es möglich in einer weiteren TextBox (txtJubiläumsgruppe) den in der Spalte rechts von dem in der ComboBox3 ausgewählten Wert darzustellen? Diesen Wert möchte ich dann benutzen um ihn in einen Betrag gemäß "Tarifgebiet!e21:e30" umzuwandeln und in eine TextBox (txtZwischenergebnis) einzutragen.
Zu Deiner Frage bezüglich der CheckBox:
in der UserForm stehen 3 TextBoxen (txtFirmeneintritt, txtJubiläumsdatum, txtJubiläum).
In txtJubiläum soll die Differenz "txtJubiläumsdatum - txtFirmeneintritt" in Jahren errechnet und eingetragen werden.
Wenn CheckBox.Value = True, soll der Wert in txtZwischenergebnis durch "41" geteilt und mit dem Wert aus txtJubiläum multipliziert werden.
If CheckBox.Value = False
txtErgebnis.Value = txtZwischenergebnis.Value
Viele Grüße
Rainer T
Anzeige
AW: Auswahlabhängige Listbox
Beni
Hallo Rainer,
Gruss Beni

Private Sub ComboBox3_Change()
MG = ComboBox1.Text
Set m = Sheets("Gesamt").Rows(1).Find(What:=MG, LookIn:=xlValues, LookAt:=xlWhole)
If Not m Is Nothing Then s = m(1, 1).Column
TG = ComboBox2.Text
Set t = Sheets("Gesamt").Columns(1).Find(What:=TG, LookIn:=xlValues, LookAt:=xlWhole)
If Not t Is Nothing Then z = t(1, 1).Row
For j = z To z + 4
If Sheets("Gesamt").Cells(j, s + 1) = ComboBox3.Text Then
txtJubiläumsgruppe.Text = Sheets("Gesamt").Cells(j, s + 2)
Exit For
End If
Next j
End Sub

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige