ich suche ein kleines Makro, welchens den Inhalt aus einer Spalte nach oben zusammenschiebt, ohne zu sortieren oder zu filtern. Also wenn z.B. A1=3, A5=1, A8=5, dann soll es so sein:
A1=3
A2=1
A3=5
Ich bedanke mich für Eure Hilfe,
Gruß, Larissa
Sub Zusammenschieben()
Dim rng As Range
Dim arr1, arr2
Dim i1 As Long, i2 As Long
Set rng = ActiveSheet.UsedRange.Columns(1)
arr1 = rng.FormulaLocal
If WorksheetFunction.CountIf(rng, "") > 0 Then
ReDim arr2(1 To UBound(arr1, 1), 1 To UBound(arr1, 2))
For i1 = 1 To UBound(arr1, 1)
If arr1(i1, 1) "" Then
i2 = i2 + 1
arr2(i2, 1) = arr1(i1, 1)
End If
Next
rng.Value = arr2
End If
End Sub
Gruß, Daniel