Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Liste ohne Duplikate in direkt in Array übernehmen

Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 22:15:00
Daniel
Hallo
mal ne kleine Frage, aus Neugier
ich benötige für ein Marko eine Liste der Tabellenwerte aus Spalte A ohne Duplikate in einer Array-Variable.
das habe ich bisher darüber gelöst, daß ich die Spalte A per Spezialfilter an eine freie Stelle im Tabellenblatt kopiere und dann die Werte ins Array übernehme, in etwa so:

Columns(1).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Cells(1, 255), Unique:=True
arrKat = Range(Cells(2, 255), Cells(65536, 255).End(xlUp))
Columns(255).Clear


Jetzt meine Frage, ist es eigentlich möglich, das Ergebnis des Spezialfilters direkt an die Array-Variable zu übergeben, oder muss ich die Werte immer erst irgendwo aufs Tabellenblatt kopieren?
Gruß, Daniel

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 22:55:12
Daniel
HI
danke für den Tip, ist ein interessanter Ansatz, werde ich mir auf jeden Fall merken.
Trotzedm bleibt die Frage, gehts auch als 1-Zeiler?
Gruß, Daniel

AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 23:06:52
Luschi
Hallo Daniel,
solange M$ die Array's so stiefmütterlich behandelt, eindeutig nein! Auch in Excel 2007 habe ich hier keine Neuerungen bisher gesehen.
Gruß von Luschi
aus klein-Paris
PS: Bei Office 2007 geht es mir so wie mit dem schönsten Mädchen der Welt; was nützt es, wenn ich sie nicht küssen darf!

Anzeige
AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 23:30:00
Daniel
Schade.
dann muß ich mal abwarten, ob Jan uns seinen Super-Code noch verrät ;-)
Gute Nacht, Daniel

AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 23:51:20
Jens
Hi,
in Excel 2007 gibt es schon eine eingebaute Funktion Doppler eliminieren!
mfg Jens

AW: Liste ohne Duplikate in direkt in Array übernehmen
07.11.2007 00:01:00
Daniel
HI
leider hilft mir Excel 2007 nicht viel.
Aber trotzdem, wie sieht da der Code aus? vielleicht lesen ja einigen Excel2007-Anwender mit, die das interessiert.
Gruß, Daniel

AW: Liste ohne Duplikate in direkt in Array übernehmen
07.11.2007 00:16:00
Jens
Hi,
kann man mit dem Rekorder, ja den gibt es auch in E 2007, aufzeichnen.
mfg Jens

AW: Liste ohne Duplikate in direkt in Array übernehmen
07.11.2007 00:20:00
Daniel
HI
würdest du dann bitte so freundlich sein, dies zu tun und den aufgezeichneten Code hier zu posten und die Menü-Befehle dazu zu beschreiben?
wie gesagt, ich habe (noch) kein Excel 2007
Gruß, Daniel

Anzeige
@ Daniel
07.11.2007 00:33:00
Christian
Hallo Daniel,
bitte nicht weiter die Trolle füttern ;-)
MfG Christian

AW: Liste ohne Duplikate in direkt in Array übernehmen
07.11.2007 16:22:30
Jens
Hi,
Excel-Entwicklerreferenz
Range.RemoveDuplicates-Methode
Entfernt doppelt vorhandene Werte aus einem Wertebereich.
Versionsinformationen
Hinzugefügte Version: Excel 2007
Syntax
Ausdruck.RemoveDuplicates(Columns, Header)
Ausdruck Eine Variable, die ein Range-Objekt darstellt.
Parameter
Name Erforderlich/Optional Datentyp Beschreibung
Columns Optional Variant Array der Indizes von Spalten mit doppelt vorhandenen Informationen. Wenn kein Wert übergeben wird, wird vorausgesetzt, dass in allen Spalten Informationen doppelt vorhanden sind.
Header Optional XlYesNoGuess Gibt an, ob die erste Zeile Überschrifteninformationen enthält. xlNo ist der Standardwert. Verwenden Sie xlGuess, wenn von Excel ermittelt werden soll, ob eine Überschrift vorhanden ist.
Beispiel
Im folgenden Codebeispiel werden doppelt vorhandene Informationen aus allen Spalten in einem Bereich entfernt.
Visual Basic für Applikationen
ActiveSheet.Range("A1:C100").RemoveDuplicates
Im folgenden Codebeispiel werden doppelt vorhandene Informationen aus den ersten zwei Spalten entfernt.
Visual Basic für Applikationen
ActiveSheet.Range("A1:C100").RemoveDuplicates Columns:=Array(1,2), Header:=xlYes

Anzeige
AW: Liste ohne Duplikate in direkt in Array übernehmen
07.11.2007 23:31:00
Daniel
Hi
ok,Danke hat zwar ein bisschen gedauert, aber nun ja.
das ist dann wie Spezialfilter ohne Duplikate an gleicher Stelle, allerdings mit löschen der alten Daten.
Gruß, Daniel

AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 22:31:00
Jan
Hi,
lies doch einfach gleich ohne Doppler direkt ins Array.
mfg Jens

AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 22:50:00
Luschi
Hallo Jan,
und wie sieht dazu der Vba-Code aus. Leider hat M$ dem Array kaum Funktionen spendiert, die den Umgang damit vereinfachen. Ich schreibe sowas vorher in ein Collection-Objekt, denn dieses ist auf Unique-Werte geeicht und nie war die Programmzeile 'On Error Resume Next' so wertvoll wie hier beim Schreiben in die/der/das Collection.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 22:58:54
Daniel
HI
genau das will ich ja.
aber wie geht das ?
und wenn, dann möglichst mit weniger Code als bisher, bei 3 Zeilen bin ich schon ;-)
Gruß, Daniel

AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 23:13:01
Luschi
Hallo Daniel,
scheibe alle Befehlszeilen in eine Zeile und trennen die Befehle durch einen Doppelpunkt; und schon ist der Einzeiler fertig.
Gruß von Luschi
aus klein-Paris
Beispiel:

Sub test(): MsgBox "Hallo, das hier ist OK": End Sub


AW: Liste ohne Duplikate in direkt in Array übernehmen
06.11.2007 23:49:00
Jens
Hi,
Einzeiler als Qualitätskriterium?
Kürzer als mit dem Spezialfilter gehts nicht, Zeichenanzahl als Kriterium, nicht Zeilen.
mfg Jens
Anzeige

37 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige