Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1520to1524
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
Inhaltsverzeichnis

Abhängige ComBoxen aktualisieren

Abhängige ComBoxen aktualisieren
30.10.2016 17:46:32
Markus
Liebes Forum,
gibt es in Excel eine "Refresh"-Funktion für ComboBoxen? Ich habe 2 voneinander abhängige Comboboxen, wenn beide (CB1 und CB2) mit Werte ausgefüllt sind, füllen sich 2 TextBoxen mit den dazugehörigen Werten. Wenn ich aber eine neue Auswahl treffe und nur die ComboBox1 ändere, ändern sich die anderen Werte (ComboBox2 und die beiden TextBoxen) zunächst nicht. Ich muss nochmal die ComboBox2 auswählen, um eine Änderung herbeizuführen.
Gibt es eine Funktion, die bei Änderung der ComboBox1, zunächst alle anderen Werte "verschwinden" lässt und erst durch Wahl von ComboBox2 füllt?
Mein Code (Quelle: j-hennekes.de)
Option Explicit
Const C_mstrDatenblatt As String = "Tabelle1"
Const C_mstrZielblatt As String = "Tabelle2"
Dim mobjDic As Object
Dim mlngLast As Long
Dim mlngZ As Long
Private Sub ComboBox1_Enter()
Set mobjDic = CreateObject("Scripting.Dictionary")
For mlngZ = 2 To mlngLast
mobjDic(Worksheets(C_mstrDatenblatt).Cells(mlngZ, 1).Value) = 0
Next
Me.ComboBox1.List = mobjDic.Keys
Set mobjDic = Nothing
End Sub
Private Sub ComboBox2_Enter()
Set mobjDic = CreateObject("Scripting.Dictionary")
With Worksheets(C_mstrDatenblatt)
For mlngZ = 2 To mlngLast
If .Cells(mlngZ, 1).Value = Me.ComboBox1.Value Then
mobjDic(.Cells(mlngZ, 2).Value) = 0
End If
Next
End With
Me.ComboBox2.List = mobjDic.Keys
Set mobjDic = Nothing
End Sub
...
Vielen Dank euch!

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

Betreff
Datum
Anwender
Anzeige
AW: Abhängige ComBoxen aktualisieren
30.10.2016 17:49:18
Hajo_Zi
den Code wo die TextBoxen gefüllt werden finde ich nicht.

AW: Abhängige ComBoxen aktualisieren
30.10.2016 20:10:36
Markus
Hallo Hajo,
hier der komplette Code:
Option Explicit
Const C_mstrDatenblatt As String = "Tabelle1"
Const C_mstrZielblatt As String = "Tabelle2"
Dim mobjDic As Object
Dim mlngLast As Long
Dim mlngZ As Long
Private Sub ComboBox1_Enter()
Set mobjDic = CreateObject("Scripting.Dictionary")
For mlngZ = 2 To mlngLast
mobjDic(Worksheets(C_mstrDatenblatt).Cells(mlngZ, 1).Value) = 0
Next
Me.ComboBox1.List = mobjDic.Keys
Set mobjDic = Nothing
End Sub
Private Sub ComboBox2_Enter()
Set mobjDic = CreateObject("Scripting.Dictionary")
With Worksheets(C_mstrDatenblatt)
For mlngZ = 2 To mlngLast
If .Cells(mlngZ, 1).Value = Me.ComboBox1.Value Then
mobjDic(.Cells(mlngZ, 2).Value) = 0
End If
Next
End With
Me.ComboBox2.List = mobjDic.Keys
Set mobjDic = Nothing
End Sub

Private Sub ComboBox2_Change()
Dim rg As Range
Dim mlngZ As Long
Dim ok As Boolean
Dim adr As String
ok = False
With ThisWorkbook.Worksheets("Tabelle1").Range("B2:B3000")
Set rg = .Find(Me.ComboBox2.Value, , xlValues, xlWhole, xlByRows, xlNext, False, False, False)
If Not (rg Is Nothing) Then
adr = rg.Address
Do
If rg.Offset(0, -1).Value = Me.ComboBox1.Value Then
ok = True
Exit Do
Else
Set rg = .FindNext(rg)
End If
Loop While Not (rg Is Nothing) And rg.Address  adr
End If
End With
If ok Then
mlngZ = rg.Row
With ThisWorkbook.Worksheets("Tabelle1")
Me.TextBox1.Value = .Range("C" & mlngZ).Value
Me.TextBox2.Value = .Range("D" & mlngZ).Value
End With
End If
Set rg = Nothing
End Sub
Private Sub UserForm_Initialize()
mlngLast = Worksheets(C_mstrDatenblatt).Cells(Rows.Count, 1).End(xlUp).Row
End Sub

Anzeige
AW: Abhängige ComBoxen aktualisieren
30.10.2016 20:24:14
Hajo_Zi

Private Sub ComboBox2_Enter()
Set mobjDic = CreateObject("Scripting.Dictionary")
With Worksheets(C_mstrDatenblatt)
For mlngZ = 2 To mlngLast
If .Cells(mlngZ, 1).Value = Me.ComboBox1.Value Then
mobjDic(.Cells(mlngZ, 2).Value) = 0
End If
Next
End With
Me.ComboBox2.List = mobjDic.Keys
Set mobjDic = Nothing
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
End Sub
Vielleicht noch Combobox2=""
Gruß Hajo
AW: Abhängige ComBoxen aktualisieren
30.10.2016 20:37:37
Markus
Hallo Hajo,
Danke für deine Hilfe - funktioniert einwandfrei :)
Anzeige
Danke für Rückmeldung oT
30.10.2016 20:39:51
Hajo_Zi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige