Hallo Rainer,
darüber würde ich anfangen nachzudenken, wenn ich mehr weiß.
*hmmh* ich sehe das anders. Ich versuche über die Lösung von VB/VBA Problemen nachzudenken um auf die Lösung zu kommen.
Wenn ich das nur machen würde wenn ichh „Wissen“ hätte, wer da nie was draus geworden )
Ist sortieren erlaubt?
Von mir aus.
Ich will darauf hinaus, es existiert eine Liste mit zig Einträgen, nach EINER VB-Schleife hast du in einer anderen Liste, nennen wir sie mal eine Ansammlung, also in einer Collection jeden Eintrag nur einmal erwähnt, egal wie oft er in der Ausgangsliste vorkam.
Dazu, und nur dazu, benutze ich Collection. (Wozu die sonst noch gut ist entzieht sich meiner Kenntnis)
Ich weiß daß Collection prinzipiell langsam ist da sie mit Strings arbeitet und auch Zeitaufwand für die „innere“ Verwaltung braucht.
Für so 20.000 Einträge in einer Liste ist Collection schnell genug fürs Auge, Ergebnis ist „sofort“ vorhanden.
Z.B. so:
Sub Test()
Dim colC as new collection, C as long
On Error resume next 'wichtig
for C = 0 to List1.count
colc.add key:=list1(n), item:=list1(n)
next C
end sub
verzeih mir, ich habs nicht in VB getestet, du wirst da wahrscheinlich Anpassungen bei der Referenzierung der List1 vornehmen müssen.
Aber der Sinn kommt klar durch *denk*, so kommt man mit einer Schleife aus.
Daß innerbetrieblich die Collection in sich eine zweite Schleife startet um nachzuprüfen ob der neue Begriff schon vorhanden ist ist ja was anderes, denn da macht ja Collection genau das was du auch machst, nachprüfen in einer Schleife ob der Begriff schon enthalten ist.
Fazit, vom Code her ist es sehr einfach Collection zu benutzen um nur „Unikate“ zu ermitteln. Das geht mit einer Schleife.
Soweit ich weiß kriegt man das ohne Collection nur mit zwei Schleifen hin. Vom Code her schon aufwendiger, wenn auch halb so wild.
Fazit2, da beide Varianten nicht schwierig sind zu codieren, wäre ein Entscheidungsaspekt welche Variante man nutzt die Schnelligkeit der Codes.
Btw: Was mich auch irritiert, egal Excel-Vba-Foren, oder VB-Foren, Collections sieht man nahezu nie in den Codes.
Gruß
Reinhard
Gruß Rainer