Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

aktive Kombobox

aktive Kombobox
17.04.2008 08:00:18
Stephan
Hallo Provis,
habe folgendes Problem beim erstellen eines Auswahlfeldes:
Beim erstellen eines Auswahlfeldes/Kombofeldes über die Funktion "Gültigkeit" habe ich das Problem, dass es bei sehr vielen Datensätze keine Autofill Funktion gibt, d.h. dass die Kombobox Daten nicht nach den entsprechenden Tastenanschläge gefiltert werden.
Bei erstellen eines Kombinationsfeld über die Steuerelement-Tollbox ist zwar die beschrieben Autofill-Funktion enthalten, aber leider kann ich diese nur einer Ausgabezelle zuordnen. Dies bedeutet, dass ich aber jeder Eingabezelle ein solches Kombinationsfeld zuordnen muss, bei mehrere Tausend Datensätze ist dies sicherlich ein Preformance-Problem. Habe versucht ein solches Kombinationsfeld zu erstellen und in die jeweils aktive Zelle zu schreiben, was mein Problem z.t. löst, doch leider ist mir dies nicht gelungen. Hoffenlich weis jemand einen Lösungsansatz, oder hat das Problem bereits gelöst. wäre toll hier eine Lösung zu finden.
Gruß

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

Betreff
Datum
Anwender
Anzeige
AW: aktive Kombobox
17.04.2008 09:12:53
Renee
Hi Stephan,
Meinst du sowas wie diese Floating ListBox ?
GreetZ Renée

AW: aktive Kombobox
17.04.2008 20:30:00
Stephan
ehrlich gesagt, sagt mit der Ausdruck Floating Listbox wenig, aber ich denke schon dass der Ausdruck zutrifft. In Access ist diese Funktion ja Standard beim auswählen einer Kombobox springt die Markierung nach Eingabe des ersten Zeichens "a" z.b. auf den ersten Eintrag der mit "a" beginnt und stellt in der Kombobox nur noch alle Einträge die mit a beginnen zur Auswahl bereit. Beim 2. Zeichen gehts eben weiter, bis letztendlich nur noch ein Eintrag vorhanden ist, was ja kein Sinn macht, da man den gewünschten Eintrag früher auswählen kann. Ist bei der Eingabe sehr hilfreich bei sehr vielen Datensätze in der Kombobox.
Gruß
Stephan

Anzeige
KLICK mal auf die Floating ListBox! (owT)
17.04.2008 22:45:00
Renee

AW: KLICK mal auf die Floating ListBox! (owT)
17.04.2008 23:49:00
Stephan
Ist genau das richtige was ich suchte, Vielen Dank für die Hilfe.
Wenn ich es jetzt noch schaffe ne Abhängigkeit hinzubekommen ist es Perfekt!
Hab es in der Beispieldate mal angefangen, doch leider bringt ist die 1. Listbox mit doppelten einträgen und die 2. Listbox sollte nach dem Filterkriterium der 1. Listbox befüllt sein, die 3. dann nach der 2. usw.
Kommt bestimmt sehr leienhaft rüber, aber ich weis es im Moment nicht besser zu Erklären.....
https://www.herber.de/bbs/user/51678.zip
Aber trotzdem Vielen Dank für die Hilfe....

Anzeige
3 voneinander abhängige Floatboxen.
18.04.2008 09:13:59
Renee
Hi Stephan,
Das wird ein bisschen komplexer.
Ich hab's hier mal als Idee skizziert.
Es wird nicht mehr mit Bereichsnamen gearbeitet, da ich deine Abhängikeiten nicht kenne.
Der Code könnte ev. sehr langsam werden, falls die Einträge in den Listboxen Tausende von Einträgen bekommen. Er ist aber weitgehend datenunabhängig.
GreetZ Renée

AW: 3 voneinander abhängige Floatboxen.
18.04.2008 09:38:00
Renee
Hi nochmals,
Wirf den Code für das Worksheet_Activate Event weg.
Dieser Code im SelectionChange Event genügt:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim objDic As Object
Dim lRow As Long
Application.EnableEvents = False
Set objDic = CreateObject("Scripting.Dictionary")
lRow = 2
On Error Resume Next
If Target.Column = 2 And Target.Row > 1 And Target.Cells.Count = 1 Then
Do
objDic.Add Sheets("Daten").Cells(lRow, 1).Value, Cells(lRow, 1).Value
lRow = lRow + 1
Loop While Not (IsEmpty(Sheets("Daten").Cells(lRow, 1)))
ComboBox1.List = objDic.Keys
ComboBox1.Left = Target.Left
ComboBox1.Top = Target.Top
ComboBox1.LinkedCell = Target.Address
If Not (ComboBox1.Visible) Then ComboBox1.Visible = Not (ComboBox1.Visible)
Else
If ComboBox1.Visible Then ComboBox1.Visible = Not (ComboBox1.Visible)
End If
If Target.Column = 4 And Target.Row > 1 And Target.Cells.Count = 1 Then
Do
If Target.Offset(0, -2).Value = Sheets("Daten").Cells(lRow, 1).Value Then _
objDic.Add Sheets("Daten").Cells(lRow, 2).Value, Cells(lRow, 2).Value
lRow = lRow + 1
Loop While Not (IsEmpty(Sheets("Daten").Cells(lRow, 1)))
ComboBox2.List = objDic.Keys
ComboBox2.Left = Target.Left
ComboBox2.Top = Target.Top
ComboBox2.LinkedCell = Target.Address
If Not (ComboBox2.Visible) Then ComboBox2.Visible = Not (ComboBox2.Visible)
Else
If ComboBox2.Visible Then ComboBox2.Visible = Not (ComboBox2.Visible)
End If
If Target.Column = 6 And Target.Row > 1 And Target.Cells.Count = 1 Then
Do
If Target.Offset(0, -2).Value = Sheets("Daten").Cells(lRow, 2).Value Then _
objDic.Add Sheets("Daten").Cells(lRow, 3).Value, Cells(lRow, 3).Value
lRow = lRow + 1
Loop While Not (IsEmpty(Sheets("Daten").Cells(lRow, 1)))
ComboBox3.List = objDic.Keys
ComboBox3.Left = Target.Left
ComboBox3.Top = Target.Top
ComboBox3.LinkedCell = Target.Address
If Not (ComboBox3.Visible) Then ComboBox3.Visible = Not (ComboBox3.Visible)
Else
If ComboBox3.Visible Then ComboBox3.Visible = Not (ComboBox3.Visible)
End If
On Error GoTo 0
Set objDic = Nothing
Application.EnableEvents = True
End Sub


GreetZ Renée

Anzeige
AW: 3 voneinander abhängige Floatboxen.
20.04.2008 23:33:56
Stephan
Super Rene,
danke, ist genau das richtige für mein Anwendungsfall!
100 Points
Vielen Dank für Deine Mühe
Gruß Stephan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige