Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1188to1192
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
Inhaltsverzeichnis

Wert in Array ohne Duplikate

Wert in Array ohne Duplikate
webdepp
Hallo,
vielleicht kann mir ja einer noch zu der späten Stunde helfen. Es gibt schon einige Einträge zu dem Thema, aber irgendwie Stelle ich mich zu doof an diese für mich umzusetzen.
Ich lese per Knopfdruck Daten von einem Sheet aus, addiere Sie und schreibe Sie auf ein anderes Sheet zurück.Nur kann es durch das Countif vorkommen, dass das Suchwort (Kriterium) aus Countif doppelt vorkommt. Und genau das darf nicht passieren.
Im Endeffekt müsste man die Werte aus Zeile X bis y (in einer Spalte) in ein Array schreiben. Danach prüfen, ob Werte dopelt vorkommen und diese löschen. Bzw vor dem schreiben in das Array schon prüfen. Dieses Array soll dann wieder abgefragt werden, denn jeder Wert (string) ist ein Suchwort. für die nächsten Aktionen.
Zum Besseren Verständnis habe ich einmal meine Bespielmapper hochgeladen. Im Shtte Grafik_Köln sieht man das er zum Beoispiel Produktion1 und Test1 doppelt eingetragen hat. Sowas möchte ich vermeiden.
Vielen Dank
Webdepp
https://www.herber.de/bbs/user/72571.xls

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wert in Array ohne Duplikate
03.12.2010 18:36:47
JogyB
Hallo Webdepp,
zuerst mal ein Hinweis vorneweg... mit
Dim v_suche_1, v_suche_2, v_lastword, v_typsn As String
werden die ersten drei Variablen als Variant und nicht etwa als String deklariert.
Und bitte beschreib mal etwas genauer, was das Makro eigentlich machen soll. Du kannst von uns nicht erwarten, dass wir uns durch den Code wühlen, um erstmal herauszufinden, was da passiert.
Aber mal grundsätzlich: Zur Vermeidung von Doubletten ist das Dictionary-Objekt eine gute Wahl.
Gruß, Jogy
AW: Wert in Array ohne Duplikate
03.12.2010 18:42:50
webdepp
Hallo Jogy,
wenn du im Excel einmal auf den Knopf start drückst, dann siehst du was das Makro macht.
Er rechnet Werte mit einem Countif zusammen, die einem Kriterium unterliegen. Nur kommt das Kriterium doppelt vor. Und somit trägt er die Werte dann auf dem Sheet auch doppelt ein.
Gruß Webdepp
Anzeige
AW: Wert in Array ohne Duplikate
03.12.2010 20:13:14
JogyB
Hallo Webdepp,
If v_suche_1  v_suche_2 And v_suche_1  "" And Columns(v_spalte + 1).Find(v_suche_1, , xlValues, xlWhole) Is Nothing Then

Das hintere And wurde ergänzt, sollte also klar sein, wo das hinkommt.
Und bitte überdenke Dein "VBA gut", das Makro blendet munter Spalten Ein- und Aus (die auszublendenden Zeilen sammelt man in einer Range und macht das am Ende auf einen Schlag), und das auch noch ohne das ScreenUpdating auszuschalten, Du suchst das Schlüsselwort für das Ende des Datenbestands mit einer Schleife über alle Zeilen (da nimmt man einfach die Find-Methode), Zeile 9 und 10 werden mehrfach geschrieben, der alte Datenbereich wird vor der neuerlichen Auswertung nicht gelöscht (was interessante Effekte geben kann, wenn in der Ursprungsliste Positionen wegfallen), Du verwendest kein einziges Mal With (und bei 15 Sheets("HW_SMI") würde sich das durchaus anbieten) etc.
Nichts für ungut, Du kannst sicher deutlich mehr als der Durchschnittsuser, nur "gut" ist das aus meiner Sicht nicht. Das ähnelt dem, was ich vor 5-6 Jahren verbrochen habe und heute schlage ich da nur noch die Hände über dem Kopf zusammen... wobei ich zugeben muss, dass ich mich damals wohl auch als "gut" eingestuft hätte ;).
Gruß, Jogy
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige