Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
ComboBox schreibt nicht in Zelle zurück ...
29.01.2007 21:40:34
proxima05
Hallo,
ich habe in einer Tabelle eine ComboBox (diese liegt direkt über der Zelle "I2), die über deren Eigenschaften bei LinkedCell mit "I2" verbunden ist. Mit dem folgenden Code befülle ich die Box bzw. sortiere deren Inhalt.
=======================================

Private Sub WKN_ISIN_DropbuttonClick()
Dim Bereich As Range
Set Bereich = ActiveWorkbook.Worksheets("Cash Flow").Range("AA2:AA16")
Dim i As Integer
Dim Daten As Variant
With WKN_ISIN
.Clear
'Daten holen
Daten = Bereich
'sortieren
Call QuickSort_Feld(Daten, LBound(Daten, 1), UBound(Daten, 1), False)
'schreiben
For i = LBound(Daten) To UBound(Daten)
If Daten(i, 1) <> "" Then
.AddItem (Daten(i, 1))
End If
Next i
End With
End Sub


Private Sub QuickSort_Feld(DasFeld, StartUnten, EndeOben, Absteigend As Boolean)
Dim iUnten As Long, iOben, iMitte, y
iUnten = StartUnten
iOben = EndeOben
iMitte = DasFeld((StartUnten + EndeOben) / 2, 1)
While (iUnten <= iOben)
If Not Absteigend Then
While (DasFeld(iUnten, 1) < iMitte And iUnten < EndeOben)
iUnten = iUnten + 1
Wend
While (iMitte < DasFeld(iOben, 1) And iOben > StartUnten)
iOben = iOben - 1
Wend
Else
While (DasFeld(iUnten, 1) > iMitte And iUnten < EndeOben)
iUnten = iUnten + 1
Wend
While (iMitte > DasFeld(iOben, 1) And iOben > StartUnten)
iOben = iOben - 1
Wend
End If
If (iUnten <= iOben) Then
y = DasFeld(iUnten, 1)
DasFeld(iUnten, 1) = DasFeld(iOben, 1)
DasFeld(iOben, 1) = y
iUnten = iUnten + 1
iOben = iOben - 1
End If
Wend
If (StartUnten < iOben) Then Call QuickSort_Feld(DasFeld, StartUnten, iOben, Absteigend)
If (iUnten < EndeOben) Then Call QuickSort_Feld(DasFeld, iUnten, EndeOben, Absteigend)
End Sub

=======================================
Das funktioniert auch soweit alles richtig, aber leider kann ich keinen Wert aus der Combobox auswählen, der sich dann in die Zelle "I2" schreibt. Die ComboBox kann ich zwar öffnen, einträge anklicken, aber dann verliessen sie ihn .... komischerweise bleibt auch kein Wert in der ComboBox stehen, wenn ich ihn anklicke. Was ist da falsch bzw. fehlt noch?
Danke für einen Tipp.
Gruß
Ralph

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

Betreff
Datum
Anwender
Anzeige
AW: ComboBox schreibt nicht in Zelle zurück ...
30.01.2007 05:54:34
Ramses
Hallo
"...Was ist da falsch ..."
Das Ereignis "WKN_ISIN_DropbuttonClick" Wird bei jeder Auswahl eines Eintrages ausgeführt und durch das Sortier-Ereignis gelöscht.
Fülle und sortiere deine Combobox mit dem "GotFocus" Ereignis, dann sollte es gehen.
Gruss Rainer
AW: ComboBox schreibt nicht in Zelle zurück ...
30.01.2007 09:48:12
poxima05
Rainer,
ich habe das jetzt mal auf GotFocus geändert, aber da passiert ganz was merkwürdiges.
Wenn ich in die ComboBox reinklicke, dann auf den DropDownArrow gehe, dann wird die Liste richtig sortiert angezeigt.
Wenn ich erst auf den DropDownArrow gehe, dann klappt die Liste auf, aber es erscheint nur der erste Eintrag in der Liste, rechts neben ihm tauchen dann zwei kleine Bildlaufleisten auf, mit denen man sich zu den anderen Listeinträgen scrollen kann ... etwas umständlich und optisch nicht ansprechend (da der Platz für die nicht angezeigten Einträge grau angezeigt wird).
Wie kann man das ändern? ... ich nutze den gleichen Code in einer ComboBox in einem UF, dort funktioniert er mit dem Enter-Ereignis ... warum geht das nicht in einer ComboBox in einer Tabelle?
Danke für Hilfe.
Ralph
Anzeige

297 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige