Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1084to1088
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

Combobox Frage zu Code

Combobox Frage zu Code
Mike
Hallo,
ich habe im Forum diesen Code gefunden. Im Original standen die Daten in Tabelle1 weiter rechts und tiefer. Ich möchte aber in A1 anfangen.
https://www.herber.de/bbs/user/62876.xls
Allerdings stoße ich da auf 2 Probleme:
1.Warum kann ich die Daten in der Tabelle nicht in der ersten Zeile eintragen? - > Fehlermeldung
2.Wie kann ich die sortierroutine andersrum sortieren lassen?
Dim Quelle, maxzl

Private Sub ComboBox2_Change()
For lngLief = 1 To maxzl
If Quelle.Cells(lngLief, "B") = Me.ComboBox1.Text And Quelle.Cells(lngLief, "A") = Me. _
ComboBox2.Text Then
Me.TextBox1 = Quelle.Cells(lngLief, "C")
Exit Sub
End If
Next
End Sub



Private Sub UserForm_Initialize()
Dim data()
Dim lngLief As Long
Set Quelle = Sheets("Tabelle1")
maxzl = Quelle.Range("B" & Rows.Count).End(xlUp).Row
For lngLief = 1 To maxzl
If Application.CountIf(Quelle.Range("B1:B" & lngLief), Cells(lngLief, "B")) = 1 Then
ReDim Preserve data(i)
data(i) = Quelle.Cells(lngLief, "B")
i = i + 1
End If
Next
ShellSort data()
Me.ComboBox1.List = data()
End Sub



Private Sub ComboBox1_DropButtonClick()
Dim lngLief As Long
Dim data()
Me.ComboBox2.Clear
For lngLief = 1 To maxzl
If Quelle.Cells(lngLief, "B") = Me.ComboBox1.Text Then
ReDim Preserve data(i)
data(i) = Quelle.Cells(lngLief, "A")
i = i + 1
End If
Next
ShellSort data()
For i = UBound(data()) To 0 Step -1
Me.ComboBox2.AddItem data(i)
Next
End Sub


Sub ShellSort(ByRef data() As Variant)
Dim OG&, i&, j&, k&, h As Variant
OG = UBound(data)
k = OG \ 2
While k > 0
For i = 0 To OG - k
j = i
While (j >= 0) And (data(j) > data(j + k))
h = data(j)
data(j) = data(j + k)
data(j + k) = h
If j > k Then
j = j - k
Else
j = 0
End If
Wend
Next i
k = k \ 2
Wend
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Combobox Frage zu Code
02.07.2009 21:23:29
Mike
Hallo Tino,
also ich habe es gerade ausprobiert und bin begeistert.
Vielen Dank.
LG
Mike
PS Wenn ein anderer Newbie (wie ich einer bin) einen Code sucht, der abhängige Comboboxen sucht, die sortiert und ohne doppelte angezeigt werden, dann bedankt Euch bei Tino.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige