Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel VBA Befehl zum Sortieren





Frage

Hallo alle zusammen. Folgendes Problem: Habe eine liste mit namen. daraus hab ich ein kombinationsfeld (drop down menü)erstellt die als basis die namen hat. wenn ich auf das kombinationsfeld klicke, kann ich einen namen aus dem menü auswählen. so. nun möchte ich aber, dass wenn ich einen namen aus dem kombinationsfeld anklicke, die tabelle (mit den namen) sortiert wird. also nur noch der name angezeigt wird, den ich im kombifeld ausgewählt habe. (mit autofilter ist es möglich, das weiß ich auch, aber ich brauche es als kombinationsfeld) hoffe ich konnte mein problem einigermaßen verständlich machen. danke im voraus. gruß

Antwort 1 von nighty

hi $mooth :)

hinterlege einen makrocode im kombinationsfeld der den ausgewaehlten namen ermittelt worauf der aufruf nach uebergabe des namens mit einer string variable des autofilters erfolgt,alternativ ueber der auswahl "alle" die ungefillterte stellung.

syntax der filterung leicht ueber makroaufnahme feststellbar :)

gruss nighty

Antwort 2 von $mooth

hi nighty...

sorry aber ehrlich gesagt weiß ich nicht, wie ich das machen soll.

also ein makro aufs kombifeld hinterlegen. eigentlich weiß ich gar nicht, wie ich bei deiner beschreibung vorgehen soll. kannst du mir evtl. etwas detailliertere infos geben?
wäre super von dir.



Antwort 3 von nighty

hi $mooth :)

kurzes beispiel

zur zeit wird "Sabine" und "Peter" und "Alle ermittelt"

bei sabine und peter wirt der filter aktiv bezugnehmend des ausgewaehlten namens

bei "alle" was noch bei deiner box hinzugefuegt werden muesste die alternativstellung (ohne filterung)

der code ist im entwicklermodus bei der combobox einzutragen.

Private Sub ComboBox1_Change()
If ComboBox1.Value = "Sabine" Then Selection.AutoFilter Field:=1, Criteria1:=ComboBox1.Value
If ComboBox1.Value = "Peter" Then Selection.AutoFilter Field:=1, Criteria1:=ComboBox1.Value
If ComboBox1.Value = "Alle" Then Selection.AutoFilter Field:=1
End Sub

Antwort 4 von $mooth

sorry ich hab den befehl so eingegeben aber das klappt nicht (hab natürlich die namen durch die namen in meiner liste ergänzt und bei field das entsprechende field eingegeben)

allerdings ist ein weiteres problem, das namen nicht "fix" sein dürfen, sondern aus der anderen datei auf die sich die combobox bezieht herausgezogen werden müssen.

hört sich kompliziert an, ich weiß. bin selbst mitlerweile am verzweifeln....

bin über jeden rat dankbar...


Antwort 5 von nighty

hi $mooth

ausgangsbasis combobox ist neu befuellt worden so muss ja ein range bereich oder ein array vorhandensein

hier ein range beispiel

gruss nighty

Private Sub ComboBox1_Change()
for anzahl=1 to 20

rem beachte diese zeile,hier koennten deine namen stehen,A1 bis A20 ,wie oben angegeben das maximum der anzahl namen

If ComboBox1.Value = range("A" & anzahl) Then

Selection.AutoFilter Field:=1, Criteria1:=ComboBox1.Value
If ComboBox1.Value = "Alle" Then Selection.AutoFilter Field:=1
next anzahl
End Sub

Antwort 6 von $mooth

also ich hab mal ein vereinfachtes beispiel unter dieser adresse. vielleicht kannst du mir so besser helfen.


http://www.herber.de/bbs/user/5242.xls


gruß und danke.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: