Ich habe ein Array indem Werte doppelt und dreifach vorkommen.
Nun möchte ich aber das jeder Wert im Array nur einmal vorkommt und alle anderen gelöscht werden.
Also keine leeren Felder und keine Mehrfachwerte im Array.
Kann mir jemand helfen?
Ich habe ein Array indem Werte doppelt und dreifach vorkommen.
Nun möchte ich aber das jeder Wert im Array nur einmal vorkommt und alle anderen gelöscht werden.
Also keine leeren Felder und keine Mehrfachwerte im Array.
Kann mir jemand helfen?
Gruß HW
Option Explicit
Option Base 1
Sub Doppelte_wech()
Dim arr(1 To 100) As Variant, arrNeu() As Variant
Dim a As Long, b As Long, z As Long, dummy As Variant
''Daten aus Zellen holen
For a = 1 To 100
arr(a) = Cells(a, 1)
Next
''Array sortieren
For a = 1 To 100
For b = a To 100
If arr(a) > arr(b) Then
dummy = arr(a)
arr(a) = arr(b)
arr(b) = dummy
End If
Next
Next
''Daten sortiert zurück in die Tabelle
For a = 1 To 100
Cells(a, 2) = arr(a)
Next
For a = 1 To UBound(arr) - 1
If arr(a) <> arr(a + 1) Then
z = z + 1
ReDim Preserve arrNeu(z + 1)
arrNeu(z) = arr(a)
arrNeu(z + 1) = arr(a + 1)
End If
Next
For a = 1 To UBound(arrNeu)
Cells(a, 3) = arrNeu(a)
Next
End Sub
Daten -> Filter -> Autofilter
Jede Spalte wird in ein cboFeld gewandelt, in der gewuenschten
Spalte kannst Du jetzt jeden Wert filtern.
mfg
Gert