Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
328to332
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
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

abhängige Listeneinträge in ComboBoxen

abhängige Listeneinträge in ComboBoxen
27.10.2003 07:41:35
Ilona
Hallo Ihr, ich habe da ein kleines Problem mit Kombinationsfeldern.
Vielleicht kann mir jemand helfen.
Ich habe zwei Kombinationsfelder die einmal mit einer Liste von Kundengruppennummern und die andere mit Kundennamen gefüllt werden. Nun soll aber je nach Auswahl in der einen, der Inhalt in der anderen wechseln. Also bei Kundengruppe 1 sollen nur noch alle Kundennamen angezeigt werden, die zu Kundengruppe 1 gehören und anders herum genauso.
Hier ist mal mein Quelltext:
'den Kombifeldern die Listen zuordnen


Function Kombi(ZellBereich, KombiName) As Boolean
ActiveSheet.Shapes(KombiName).Select
With Selection
.ListFillRange = ZellBereich        ' Listenbereich setzen
.LinkedCell = ""
.DropDownLines = 8                  ' Anzahl der anzuzeigenden Einträge
.Display3DShading = False
.ListIndex = 1
End With
Kombi = True
End Function



' Erstellen einer Liste aller vorkommenden Kundengruppen
' Zuordnen dieser Listen zum Kombinationsfeld


Sub KDGruppe()
Dim KDGruppe As String, lKDGruppe As String
Dim LineIndex As Integer, OutIndex As Integer
Dim ZellBereich As String
KDGruppe = "@@@@@"
lKDGruppe = "@@@@@"
LineIndex = 8
OutIndex = 2
'Sortieren nach KdGruppe
SortiereKDGruppe
'Ausgabe für alle KdGruppen als ersten Listeneintrag
Worksheets("Import").Cells(1, 34).Value = "alle"
'Ausgabe jeder KdGruppe
Do While (Worksheets("Import").Cells(LineIndex, 1) > "")
KDGruppe = Worksheets("Import").Cells(LineIndex, 11)
If (KDGruppe <> lKDGruppe) And (lKDGruppe <> "@@@@@") Then
Worksheets("Import").Cells(OutIndex, 34).Value = lKDGruppe
OutIndex = OutIndex + 1
End If
lKDGruppe = KDGruppe
LineIndex = LineIndex + 1
Loop
If (lKDGruppe <> "@@@@@") Then
Worksheets("Import").Cells(OutIndex, 34).Value = lKDGruppe
End If
' Bereich ermitteln, wo KdGruppe ausgegeben wird
ZellBereich = "=$AH$1:$AH$" + CStr(OutIndex)
' Name des Kombinationsfeldes
KombiName = "Dropdown 1"
bOK = Kombi(ZellBereich, KombiName)
Worksheets("Import").Range("A1:A1").Select
Exit Sub
End Sub



' Erstellen einer Liste aller vorkommenden Kunden
' Kundennummer zum Unterscheiden, falls gleiche Namen
' Zuordnen dieser Listen zum Kombinationsfeld


Sub Kunde()
Dim Kunde As String, lKunde As String
Dim KNr As Integer, lKNr As Integer
Dim LineIndex As Integer, OutIndex As Integer
Dim ZellBereich As String
Kunde = "@@@@@"
lKunde = "@@@@@"
LineIndex = 8
OutIndex = 2
'Sortieren nach Kunde
SortiereKD
Worksheets("Import").Cells(1, 35).Value = "alle"
Worksheets("Import").Cells(1, 36).Value = -1
Do While (Worksheets("Import").Cells(LineIndex, 1) > "")
Kunde = Worksheets("Import").Cells(LineIndex, 9)
KNr = Worksheets("Import").Cells(LineIndex, 10)
If (Kunde <> lKunde) And (lKunde <> "@@@@@") Then
Worksheets("Import").Cells(OutIndex, 35) = lKunde
Worksheets("Import").Cells(OutIndex, 36) = lKNr
OutIndex = OutIndex + 1
End If
lKunde = Kunde
lKNr = KNr
LineIndex = LineIndex + 1
Loop
If (lKunde <> "@@@@@") Then
Worksheets("Import").Cells(OutIndex, 35) = lKunde
Worksheets("Import").Cells(OutIndex, 36) = lKNr
End If
' Bereich ermitteln, wo KdGruppe ausgegeben wird
ZellBereich = "=$AI$1:$AI$" + CStr(OutIndex)
' Name des Kombinationsfeldes
KombiName = "Dropdown 3"
bOK = Kombi(ZellBereich, KombiName)
Worksheets("Import").Range("A1:A1").Select
Exit Sub
End Sub






Function GetIndex(KombiName) As Integer
Dim nIndex As Integer
Worksheets("Import").Activate
ActiveSheet.Shapes(KombiName).Select
With Selection
nIndex = .ListIndex
End With
GetIndex = nIndex
End Function





Function GetKDGruppe() As String
Dim nIndex As Integer
Dim sKDGruppe As String
nIndex = GetIndex("Dropdown 1")
sKDGruppe = Worksheets("Import").Cells(nIndex, 34)
GetKDGruppe = sKDGruppe
End Function





Function GetKunde() As Integer
Dim nIndex As Integer
Dim KNumber As Integer
nIndex = GetIndex("Dropdown 3")
KNumber = Worksheets("Import").Cells(nIndex, 36)
GetKunde = KNumber
End Function





Function GetKundeName() As String
Dim nIndex As Integer
Dim KName As String
nIndex = GetIndex("Dropdown 3")
KName = Worksheets("Import").Cells(nIndex, 35)
GetKundeName = KName
End Function




Ich hoffe das reicht:
Würde mich über Hilfe freuen. Danke schon mal im Voraus.
ILONA

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: abhängige Listeneinträge in ComboBoxen
27.10.2003 09:56:14
Dan
Hallo,
Was du brauchst : wenn man eine Kunden-Gruppe in dem ersten Combo auswaht, dann andern sich die Items in dem zweiten Combo so, dass nur die Kunden vorhanden sind, die zu der ausgewahlten KG gehoren. Verstehe ich es richtig :-) ?

Ich sehe, dass du die Excel-Controls verwendest. Es wird leichter, denke ich, wenn du die ActiveX Controls verwenden wirst :-).
Dan [mailto dusek@cb.vakjc.cz]
AW: abhängige Listeneinträge in ComboBoxen
27.10.2003 10:22:39
Ilona
Hallo Dan,
ich glaube deine Antwort hilft mir nicht so richtig weiter. Ich könnte vielmehr einen Ansatz gebrauchen, in welchem ich das nutzte, was ich bereits habe. Leider bin ich noch noch so firm in VBA.
Trotzdem erstmal Danke.
Vielleicht hast du doch einen Lösungsvorschlag.
ILONA
Anzeige
AW: abhängige Listeneinträge in ComboBoxen
27.10.2003 10:48:15
Dan
Ja, Losungsvorschlag hatte ich :-), Ich mache einen Beispiel fur dich, wo in der ersten Spalte KndGruppen Namen und in der zweiten Sp. die Kunden Namen sind. Es wird eine Weilchen dauern ...
Dan [mailto dusek@cb.vakjc.cz]
AW: abhängige Listeneinträge in ComboBoxen
27.10.2003 11:15:23
Ilona
Danke schon mal!!!!
AW: abhängige Listeneinträge in ComboBoxen
27.10.2003 11:55:00
Dan
Hallo Ilona,
hier eine Datei mit dem Beispiel : https://www.herber.de/bbs/user/1619.xls
Falls du Fragen hast, dann schreib mir an dusek@cb.vakjc.cz.
Mfg. Dan
AW: abhängige Listeneinträge in ComboBoxen
27.10.2003 14:06:06
Ilona
Danke!
Wie kann ich mir den Code anschauen.
Ilona
AW: abhängige Listeneinträge in ComboBoxen
27.10.2003 14:19:41
Dan
Einfach auf den link clicken : https://www.herber.de/bbs/user/1619.xls
(Ich habe die Datei zum Server geladen). Oder falls du Probleme damit bekommst, dann schreib mir e-mail dusek@cb.vakjc.cz. Ich schicke es dir im Form von *.txt File.
Mfg Dan.
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige