Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema RefEdit
BildScreenshot zu RefEdit RefEdit-Seite mit Beispielarbeitsmappe aufrufen

Bereich in Array ohne Doppelte in einer Spalte

Betrifft: Bereich in Array ohne Doppelte in einer Spalte von: Ivonne
Geschrieben am: 28.08.2014 22:52:47

Hi,

ich weise einem Array einen Bereich zu,

arrValues = Range(Cells(18, 2), Cells(72, 8))

wie bekomme ich jetzt alles in eine Spalte ohne Doppelte

gruss Ivonne

  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Daniel
Geschrieben am: 28.08.2014 23:58:16

Hi

Dim a
Dim arrErg
Dim D as Object
Dim arrValues

arrValues = Range(Cells(18, 2), Cells(72, 8))
set D = createobject("Scripting.dictionary")

for each a in arrValues
    D(a) = 0
Next

arrErg = Worksheetfunction.Transpose(D.Keys)
cells(1, 1).resize(Ubound(arrErg, 1) - LBound(arrErg, 1) + 1, 1).Value =arrErg
gruß Daniel


  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Ivonne
Geschrieben am: 29.08.2014 00:46:50

Hi Daniel,

danke dir,das ist schon fast optimal. gibt es noch die Möglichkeit aufsteigend zu sortieren, dann wäre es optimal.

Diese Liste brauch ich dann, für andere Aufgaben, die aber kein Problem darstellen.

Nur würde ich gerne jetzt die Liste auch dazu benutzen, den Bereich zu durchlaufen und bei Gleichheit zu färben.

Beim ersten Fund soll die Zelle grün werden, bei weiteren dann rot.

Ich weiß nicht ob es eine Rolle spielt, im Bereich sollen zuerst die spalten und dann die Zeilen durchlaufen werden.

Hast du dazu eine Lösung

gruss Ivonne


  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Daniel
Geschrieben am: 29.08.2014 01:34:14

Hi

Wenn es reicht die Werte in der Excelliste zu sortieren, dann kannst du die Sortierfunktion von Excel verwenden.

Die weitere Aufgabenstellung verstehe ich nicht.
Wenn du die Duplikate entfernt hast, dann gibt es in dieser Liste immer nur einen ersten Fund und nie einen weiteren, denn weitere Funde wären ja Duplikate und die haben wir entfernt.
Wenn du die Liste sortiert, dann spielt doch keine Rolle, in welcher Reihenfolge sie eingelesen wurde, den diese "Einlesereihenfolge" wird beim alphabetischen Sortieren verwirbelt.

Gruß Daniel


  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Luschi
Geschrieben am: 29.08.2014 09:46:17

Hallo Ivonne,

wenn Du sortieren willst,dann benutze das Speicherobjekt 'System.Collections.arraylist'.
Habe Dir dazu ein Beispiel erstellt.

https://www.herber.de/bbs/user/92378.xlsm

Gruß von Luschi
aus klein-Paris



  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Ivonne
Geschrieben am: 29.08.2014 11:34:01

Hi Luschi,

genauso habe ich mir das vorgestellt, das manuelle Sortieren wollte ich mir sparen.

Hast du auch eine Lösung zu meiner 2.Frage.

Ich möchte anhand der erstellten Liste den Bereich durchlaufen.(hier gibt es ja die doppelten Werte noch.)

Als Beispiel der erste Wert der Liste a1a1a1

Der Bereich soll jetzt nach dem Wert durchsucht werden.

wird der Wert gefunden soll die Zelle grün werden, wird der Wert dann nochmal gefunden soll die Zelle rot werden.(aber auch alle nachfolgenden)

Wert 4mal in Bereich,= 1Zelle grün,3Zellen rot.

gruss Ivonne


  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Ivonne
Geschrieben am: 29.08.2014 11:50:45

Hi Luschi,

doch ein Problem, in deiner Mappe funktioniert das Makro, habe es jetzt in meiner Mappe eingefügt.

Da werden weder die Doppelten entfernt noch sortiert.

Habe ich was übersehen.

gruss Ivonne


  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Luschi
Geschrieben am: 29.08.2014 13:58:02

Hallo Ivonne,

hier mal mein nächster Versuch:

https://www.herber.de/bbs/user/92385.xlsm

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Ivonne
Geschrieben am: 29.08.2014 18:10:59

Hallo Luschi,

habe jetzt die Ursache gefunden, warum das bei mir nicht funktioniert, du hast Text genommen, bei mir sind es Zahlen.

Es wird zwar sortiert(hatte ich erst nicht gesehen)weil die Reihe ungewöhnlich ist.

10,11,12,2;21,22,23,3,4,5,61 usw.

und die doppelten Zahlen sind alle drin.

Das Färben der Zellen funktioniert, nur hätte ich hier gerne eine andere Reihenfolge.

Bei dir wird von oben nach unten nach rechts durchsucht.(Spaltenweise)

Wenn es möglich ist hätte ich gerne von links nach Rechts nach unten (Zeilenweise)

gruss Ivonne


  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Ivonne
Geschrieben am: 01.09.2014 11:04:44

Hi,

Niemand eine Lösung ????

gruss Ivonne


  

Betrifft: AW: Bereich in Array ohne Doppelte in einer Spalte von: Luschi
Geschrieben am: 01.09.2014 11:28:10

Hallo Ivonne,

ich bin noch dabei - habe aber am WE mal Pause gemacht!

Gruß von Luschi
aus klein-Paris


 

Beiträge aus den Excel-Beispielen zum Thema "Bereich in Array ohne Doppelte in einer Spalte"