Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1076to1080
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

VBA: Array. Doubletten verhinder oder aussortieren

VBA: Array. Doubletten verhinder oder aussortieren
19.05.2009 11:24:52
Martin
Einen wunderschönen guten Tag,
ich möchte gerne eine Excel-Spalte in ein VBA-Array einlesen. Beispiel einzulesende Spalte:
A
A
B
B
B
C
In dem Array soll hinterher jedes Element nur einmal drin sein. Beispiel Array-Inhalt:
A
B
C
Ich bin mir unsicher, ob ich schon vor dem einlesen in das Array prüfen soll, ob das Element bereits im Array vorhanden ist und nur einlese, falls es noch nicht vorhanden ist oder ob ich erst alle einlese und hinterher die Doubletten aussortiere (Vergleich https://www.herber.de/mailing/186302h.htm )
Viele Grüße,
Martin

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Array. Doubletten verhinder oder aussortieren
19.05.2009 11:48:30
Rudi
Hallo,
am besten über das Dictionary-Objekt.

Sub tt()
Dim oDict As Object, iRow As Long, arrDaten
Set oDict = CreateObject("Scripting.Dictionary")
For iRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If oDict.exists(Cells(iRow, 1).Text) Then
Else
oDict.Add Cells(iRow, 1).Text, "y"
End If
Next
arrDaten = oDict.keys
End Sub


Gruß
Rudi

AW: VBA: Array. Doubletten verhinder oder aussortieren
19.05.2009 11:48:57
Tino
Hallo,
hier mal ein Beispiel
Option Explicit

Public Sub Beispiel_Area_ohne_doppelte()
Dim Dic As Object, myAr
Dim L As Long

Set Dic = CreateObject("Scripting.Dictionary")

'Daten Sammeln ohne doppelte ***************************** 
myAr = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)

For L = 1 To Ubound(myAr)
    Dic(myAr(L, 1)) = 0
Next

myAr = Dic.keys
'********************************************************* 

'Ausgabe ************************************************* 
For L = Lbound(myAr) To Ubound(myAr)
 Debug.Print myAr(L)
Next L

End Sub


Gruß Tino

Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige