Clever-Excel-Forum

Normale Version: 2 Fragen, combobox und Autofilter
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo rotzi,



Userform.ComboBox1.AddItem item.Value


Userform (rot markiert) mit dem Namen Deiner Userform erstzen.

Wenn Du den Namen nicht geändert hast, dann muss da so etwas wie Userform1 oder Userform2 stehen


Warum nimmst Du nicht snb's Variante, so wie es Carsten gezeigt hat? Ist am effektivsten.
dann habe ich die bsp tabelle von snb probier zu kopieren, da sagte er mir Typen unverträglich.. also irgendwo isn fetter knoten drin.. ich find ihn nur ned :s
Wo sind die typen unverträglich ?

Zeig mal bitte deine Datei.
wenn ich eine Zelle ändere während meine Userform läuft sagt er mir hier typen unverträglich

If Target.Column = 3 Then controlltable.ComboBox1.List = Filter([transpose(if(isblank(snb),"~",snb))], "~", 0)


Spalte C ist meine Liste
Hallo rotzi,

ruf die Form einmal  auf, damit der Name "snb" definiert wird. Danach ist der Fehler weg.
Hallo zusammen,

mir ist heute hier und in anderen Threads noch etwas auf- und eingefallen:

Ich finde knackig kurzen Code auch schön. Zumindest zum Zeitpunkt des Erstellens desselben.
Man sollte aber auch die 'Nebenwirkungen' beachten ...
Wer versteht in ein paar Monaten noch auf einen Blick 'wild' ineinander verschachtelte kryptische Zeichensätze auf Anhieb ...
Wenn alles in eine Zeile geklatscht wurde, dann wird einem das Debuggen auch nicht gerade erleichtert.
Welcher Hilfesuchende versteht diese kurzen 'Dinger' ohne Erläuterung, so dass er sich diesen Code für sich zurechtbiegen kann.
Und noch einige weitere Dinge ...

Ich komme darauf, weil der schöne 'Knackige Code' von snb nur so lange funktioniert, wie man nichts anderes in Tabelle1 'anstellt'.
Z.Bsp. wenn man sich in diesem Sheet'Tabelle1' noch eine weitere Tabelle anlegt, dann ergibt untenstehender Code einen Fehler:
Code:
  Tabelle1.UsedRange.Offset(1).Name = "snb"
  ComboBox1.List = Filter([transpose(if(isblank(snb),"~",snb))], "~", 0)

Warum?
Weil derUsedRange einfach so wieder zugewiesen wird. Der falsche halt und dann bekommt man in der Zuweisung der Liste einen Fehler.

Wie kann man das Umgehen?
Da gibt es wieder einige Wege.
Der einfachste Weg wird sein, wenn man hier im Beispiel die erste Zeile auskommentiert und den Namen und dessen Range im Namensmanager festlegt.
Man könnte auch per VBA prüfen, ob der Name schon festgelegt wurde und falls nicht, diesen per VBA anlegen.

Dieser superkurze Vorschlag funktioniert also nur von 'Zwölfe bis Mittags'.
Unschön für den Hilfesuchenden.



Das ist nur eine allgemeine Kritik an uns Helfern und an niemand persönlich gerichtet.
Der eben angesprochene Fehler ist mir halt eben aufgefallen, weil die 'UsedRange' ohne genaue Definition zugewiesen wird und das immer wieder.
Schön kurz, aber auch schön blöd - zumindest wenn weiter in Tabelle1 gewerkelt wird.

Nicht falsch verstehen. Sind nur Gedanken, kein Angriff ... :)
Ich glaub, ich geh runter zu Frauchen. Vielleicht macht die was Gescheites. :D



Gruß Carsten
@Rotzi

Ohne Datei keine Ahnung.
Okay, leute ich habs hinbekommen, zwar keine ahnung wie, aber es funkt so wie ich will.. danke für eure zeit und eure ideen Heart seid grossartig...


aber nun brauch ich ne pause... mein kopf tut weh :(
Seiten: 1 2 3