Combobox ohner ausgebl. Zeilen füllen und Sortiere

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Combobox ohner ausgebl. Zeilen füllen und Sortiere von: Pascal
Geschrieben am: 17.03.2005 12:32:28

Hallo,

ich habe mir eine Combox in mein Dokument eingebaut. Ohne UserForm, einfach auf die Seite kopiert.

Nach der Auswahl wird ein Makro ausgeführt.
Der Zellbezug zum Füllen der Combobox a2:a100 enthält jedoch dynamisch ausgeblendete Zeilen .

Meine Fragen:
- Wie kann ich erreichen, das die ausgeblendeten Zeilen nicht in der Box angezeigt werden. (Meine bisherige Lösung: Bereich per Makro auslesen, in neue Tabelle ohne die ausgeblendeten Zeilen kopieren und das als Bereich für die Combox nehmen. Finde die Lösung aber zu unsauber und suche nach einem eleganteren Weg. Kenn mich aber mit Steuerelementen noch nicht so gut aus).

- Wie kann ich die Einträge in der Box sortieren? (Was natürlich auch über den obigen Weg geht.)

Vielen Dank für Eure Hilfe,
Pascal

Bild


Betrifft: AW: Combobox ohner ausgebl. Zeilen füllen und Sort von: ChrisSp
Geschrieben am: 17.03.2005 13:27:11

Hi Pascal,

lies doch die Zeilen in ein Array ein, dabei liest du nur die Zeilen ein, die eingeblendet sind. Das sortieren würde ich dann auch in dem Array vornehmen und anschließend erst in die Combobox schreiben.

Was sind das für Werte - Text oder Zahlen - ist für das Sortieren relevant.

Gruss

Chris


Bild


Betrifft: AW: Combobox ohner ausgebl. Zeilen füllen und Sort von: Pascal
Geschrieben am: 17.03.2005 13:52:05

Hi Chris,
danke, in ein Array einlesen ist kein Problem. Sortieren im Array muss ich noch schauen wie das geht.

Es handelt sich um Texte.

Wie spreche ich denn die Combobox an und fülle sie, wenn ich kein UserForm habe?

Viele Grüße,
Pascal


Bild


Betrifft: AW: Combobox ohner ausgebl. Zeilen füllen und Sort von: ChrisSp
Geschrieben am: 17.03.2005 14:11:03

Hi Pascal,

das mit dem Sortieren ist ziemlich einfach:
Das Array ist: *Datenfeld()*, es hat j Einträge, mit der Funktion strcomp() kannst du Strings vergleichen.

If i > 1 Then
For i = 2 To j
If StrComp(Datenfeld(i), Datenfeld(i - 1), vbTextCompare) < 0 Then
Text = Datenfeld(i)
Datenfeld(i) = Datenfeld(i - 1)
Datenfeld(i - 1) = Text
End If
Next i
End If

Zu dem Ansprechen der Combobox bin ich im Moment auch etwas überfragt - ich probier mal was rum - du kannst ja schon mal das mit dem Sortieren versuchen.

Gruss

Chris


Bild


Betrifft: Ist das also auch geklärt :o) ? von: ChrisSp
Geschrieben am: 17.03.2005 14:23:32

Also du brauchst den Code nur in das Tabellenblatt packen, in dem sich auch die Combobox befindet. Und dann sprichst du sie einfach mit ihrem Namen an z.B. Combobox1

Gruss

Chris


Bild


Betrifft: AW: Ist das also auch geklärt :o) ? von: Pascal
Geschrieben am: 17.03.2005 14:39:12

Hi Chris,
Danke, dass mit dem sortieren klappt prima.
Nur die Übergabe des Arrays an die Kombobox haut noch nicht hin. müsste doch z.B. eigentlich mit
combobox1.additem = N(1,j) gehen oder?

Gruß pascal


Bild


Betrifft: Fast richtig :o) von: ChrisSp
Geschrieben am: 17.03.2005 14:47:45

Nach dem *additem* kommt kein "=",

ich hoffe mal dir ist mein kleiner Tippfehler aufgefahllen - in der ersten For-Schleife muss für das "i" ein "j" stehen

Gruss

Chris


Bild


Betrifft: SUPER! von: Pascal
Geschrieben am: 17.03.2005 14:53:00

Hi Chris,
ach das mit dem = ...:)
das mit dem j ist aufgefallen, sonst funzt es ja nicht, gelle!
Schöne Grüße und Danke noch mal,
Pascal


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Combobox ohner ausgebl. Zeilen füllen und Sortiere"