AW: Doppelte im Array filtern
24.05.2023 10:58:23
Daniel
Hi
naja, der Vorschlag von snb ist eigentlich nur deshalb kürzer, weil er auf Variablendeklaration verzichtet (was ich nicht mache) und weil der den Zellbereich fest vorgibt und ich die automatische Ermittlung eingebaut habe.
wenn ich meinen Code im snb-Stil schreibe, dann ist er eigentlich fast genauso lang.
Sub M_Daniel()
Set Erg1 = CreateObject("scripting.dictionary")
For Each x In Range("A1:A10").Value
Erg1(x) = Erg1(x) + 1
Next
For Each x In Erg1.keys
If Erg1(x) >= 2 Then Erg2 = Erg2 & "|" & x
Next
Erg2 = WorksheetFunction.Transpose(Split(Mid(Erg2, 2), "|"))
Cells(1, 11).Resize(UBound(Erg2), 1) = Erg2
End Sub
Sub M_snb()
sn = Filter(Application.Transpose(Range("A1:A10")), "")
Do Until UBound(sn) = -1
If UBound(Filter(sn, sn(0))) > 0 Then c00 = c00 & "_" & sn(0)
sn = Filter(sn, sn(0), 0)
Loop
sn = Split(Mid(c00, 2), "_")
Cells(1, 11).Resize(UBound(sn) + 1) = Application.Transpose(sn)
End Sub