Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1464to1468
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
Comboboxinhalt aus verschiedenen Tabellen
06.01.2016 09:16:31
Ralle
Hallo liebe Forum-ler
ich habe auf einer Userform 3 Comboboxen, in einer kann ich das Jahr auswählen das funktioniert auch dabei wird das entsprechende Jahr (Tabellenblätter) ausgewählt. Nun möchte ich in einer 2. Combobox den Inhalt aus spalte C vom jeweiligem Jahr was in der Combobox steht in der 2. Combobox mir ohne doppelte Werte anzeigen lassen. Wie kann ich das realisieren?
Dankeschön für eure Hilfen.!!!! :-)

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Comboboxinhalt aus verschiedenen Tabellen
06.01.2016 09:37:39
Rudi
Hallo,
z.B. so:
Private Sub ComboBox1_Change()
ComboBox2.List = CBX_Values(Sheets(ComboBox1.Value), 3)
End Sub
Function CBX_Values(sh As Worksheet, lColumn As Long)
Dim objList As Object, i As Long
Set objList = CreateObject("Scripting.dictionary")
With sh
For i = 2 To .Cells(Rows.Count, lColumn).End(xlUp).Row
objList(.Cells(i, lColumn).Value) = 0
Next
End With
CBX_Values = objList.keys
End Function
Gruß
Rudi

AW: Comboboxinhalt aus verschiedenen Tabellen
06.01.2016 09:40:26
Ralle
Wo muss ich den Code eintragen in ein Modul oder in die Userform (initalize oder Activate)
Function CBX_Values(sh As Worksheet, lColumn As Long)
Dim objList As Object, i As Long
Set objList = CreateObject("Scripting.dictionary")
With sh
For i = 2 To .Cells(Rows.Count, lColumn).End(xlUp).Row
objList(.Cells(i, lColumn).Value) = 0
Next
End With
CBX_Values = objList.keys
End Function

Anzeige
egal ob Modul oder UF. owT
06.01.2016 10:14:21
Rudi

AW: egal ob Modul oder UF. owT
06.01.2016 10:16:22
Hajo_Zi
aber nicht in initalize oder Activate

AW: egal ob Modul oder UF. owT
06.01.2016 10:46:19
Rudi
... der Compiler anmeckern.
Private Sub Userform_Initialize()
Function Bla(x)
End Function
End Sub
Gruß
Rudi

AW: egal ob Modul oder UF. owT
06.01.2016 10:17:01
Ralle
Hallo Rudi,
ich komme mit der Function CBX_Values nicht klar. Was bedeutet das?
Danke

AW: egal ob Modul oder UF. owT
06.01.2016 10:26:08
Rudi
Hallo,
ich habe einfach die Ermittlung der Werte für Combobox2 in eine Funktion ausgelagert. Es werden einmalige Werte aus einem Blatt (sh) in einer bestimmten Spalte (lColumn) ermittelt und in ein Datenfeld (CBX_Values) geschrieben. Dieses wird der List-Eigenschaft der ComboBox zugeordnet (Combobox2.List=CBX_Values(Worksheets(Combobox1.Value), 3)).
Eine Combobox kannst auf mehrere Arten füllen: Angabe des Quellbereichs(RowSource), per AddItem-Methode oder durch Festlegen der List-Eigenschaft (hier genutzt).
Gruß
Rudi

Anzeige
AW: egal ob Modul oder UF. owT
06.01.2016 10:26:50
Ralle
Wie bekomme ich es dann noch hin das er mir die werte die ich in der Combobox mal auswählen kann auch in der Listbox angezeigt bekomme. Aber im Moment funktioniert das nicht. Die CB2 bleibt leer ich habe den Code so Übernommen aber nichts. Mache ich was falsch?

AW: egal ob Modul oder UF. owT
06.01.2016 10:31:12
Rudi
die CB2 wird erst nach Auswahl eines Wertes in CB1 gefüllt.

AW: egal ob Modul oder UF. owT
06.01.2016 10:39:40
Ralle
aha! Aber es geht nicht!! :-(

bei mir geht es
06.01.2016 10:41:06
Rudi
wahrscheinlich weil ich alles richtig mache.
Lad die Mappe hoch.

AW: bei mir geht es
06.01.2016 10:53:46
Ralle
Hallo hab mal die Mappe angehängt! Mit der Bitte um Hilfe
https://www.herber.de/bbs/user/102605.xlsm
Bitte um Hilfe!

Anzeige
AW: bei mir geht es
06.01.2016 11:04:52
Rudi
das
ComboBox1.List = CBX_Values(Sheets(cmbVerkäufer.Value), 3)
gehört natürlich in
Private Sub cmbVerkäufer_Change()
Gruß
Rudi
da kriegt man ja Augenkrebs

AW: bei mir geht es
06.01.2016 11:12:30
Ralle
Super Danke!
wie kann ich mir jetzt die Auswahl in der Listbox anzeigen lassen?

Listbox filtern
06.01.2016 11:48:36
Rudi
Hallo,
Private Sub cmbVerkäufer_Change()
Worksheets(cmbVerkäufer.Value).Activate
With lsb1
.RowSource = ""
.List = ActiveSheet.Cells(1, 1).CurrentRegion.Offset(1).Value
End With
With ComboBox1
.Clear
.List = CBX_Values(Sheets(cmbVerkäufer.Value), 3)
End With
End Sub
Private Sub ComboBox1_Change()
Dim i As Long
With lsb1
.List = Sheets(cmbVerkäufer.Value).Cells(1, 1).CurrentRegion.Offset(1).Value
If ComboBox1.ListIndex > -1 Then
For i = .ListCount - 1 To 0 Step -1
If .List(i, 2)  ComboBox1.Value Then .RemoveItem i
Next
End If
End With
End Sub
Gruß
Rudi

Anzeige
AW: Listbox filtern
06.01.2016 12:31:19
Ralle
Super ein großes Danke!
Ich hab doch die Test Mappe gesendet. Kann ich die comboboxen voneinander abhängig machen? sodass wenn das Jahr ausgewählt wurde dann in der 2. Box der Verkäufer und in der 3. Box nach gegenstand?

AW: Listbox filtern
06.01.2016 12:48:02
Rudi
das kann man machen. Ich sehe aber nirgends einen Verkäufer. Meinst du Vertragspartner?
Du solltest die Userformen bereinigen. Über cmbVerkäufer steht 'Auswahl Rechnungsjahr' usw. Da blickt doch keiner mehr durch.
Außerdem sollten die Begriffe in den Tabellen und den Userformen gleich sein.
Die Daten würde ich nicht nach Jahr in unterschiedliche Blätter schreiben sondern alle in ein Blatt. Das vereinfacht einiges.
Gruß
Rudi

Anzeige
AW: Listbox filtern
06.01.2016 13:03:52
Ralle
Hallo Rudi,
Danke für den Hinweis. Es geht um die CBX cmbBelege und um die CBX cmbGegenstand. die beiden sollen abhängig voneinander sein.
Sicher wirst Du recht haben aber ich bin ein totaler Laie ich versuche mir etwas zusammen zubasteln so wie es mir gefallen könnte.
Kannst Du mir einen Hinweis geben wie ich die beiden CBX abhängig machen kann. Du hast ja die TestMappe erhalten.
vielen Dank für die Hilfestellungen.

Inhalt der Combobox anzeigen beim Starten der UF
06.01.2016 14:04:54
Ralle
Hallo Forum-ler,
1. wie kann ich es in die Tat umsetzen, dass wenn ich die Userform starte gleich das aktuelle Jahr in der Combobox drin steht. Siehe beiliegende Mappe es geht dabei um die Userform1 und um die CBX 1
2. Die Listbox auf der Userform ist im Entwicklungsmodus normal groß wie ich das möchte, aber wenn ich die Userform starte, ist diese so klein. Weiß jemand woran das liegt?
Danke für Euer Verständnis und eure Hilfe

Anzeige
AW: Inhalt der Combobox anzeigen beim Starten der UF
06.01.2016 14:09:17
Rudi
1. im _activate: Combobox1=Year(Date)
2. na wenn du die Höhe setzt, kein Wunder
Gruß
Rudi

AW: Inhalt der Combobox anzeigen beim Starten der UF
06.01.2016 14:22:03
Ralle
Perfekt !! Danke

AW: Comboboxinhalt aus verschiedenen Tabellen
06.01.2016 10:20:01
Ralle
Hab den Code jatzt mal reinkopiert. Aber combobox bleibt leer. Woran kann es noch liegen?
Danke

Perfekt Danke an alle für die Hilfe!!!
06.01.2016 14:22:58
Ralle
o.w.t.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige