folgenden Code habe ich hier gefunden:
Sub Werte_ohne_Redundanzen_Kopieren()
'Kopiert alle Werte der Spalte B EINMALIG nach Spalte C - ohne Redundanzen
'24.11.2011, NoNet - www.excelei.de
Dim lngZQ As Long, lngZZ As Long 'Zeilen-Variablen für Quelle/Ziel
Dim lngSQ As Long, lngSZ As Long 'Spalten-Variablen für Quelle/Ziel
lngSQ = 2 'Werte aus Quell-Spalte 2 = Spalte B
lngSZ = 3 'Werte nach Ziel-Spalte 3 = Spalte C
Columns(lngSZ).ClearContents 'Zielspalte zuvor löschen !
For lngZQ = 2 To Cells(Rows.Count, lngSQ).End(xlUp).Row
'Per ZÄHLENWENN() prüfen, ob Wert bereits in ZIEL-Spalte vorhanden ist :
If Application.CountIf(Columns(lngSZ), Cells(lngZQ, lngSQ)) = 0 Then
'Wenn der Wert noch NICHT in der ZIEL-Spalte vorhanden ist :
lngZZ = Cells(Rows.Count, lngSZ).End(xlUp).Row + 1
Cells(lngZZ, lngSZ) = Cells(lngZQ, lngSQ)
End If
Next
End Sub
Nun möchte ich aber die Anzahl der Zeilen eingrenzen. In dem o.a. Beispiel wird ja die gesamte Spalte B der Quelle (also von Zeile 1 bis unendlich) und die gesamte Spalte C im Ziel verwendet.
Ich möchte jetzt z.B., daß nur von B10:B100 in der Quelle und von C12 bis C66 im Ziel verwendet wird.
Außerdem bleiben bei dem o.a. Code Leerzellen im Ziel ungefüllt, da ja von unten nach oben die nächste freie Zelle verwendet wird - geht das auch anders?
Ich bekomme die Änderung nicht hin...
Kan mir jemand bitte helfen?
Danke und Gruß
r2d2