Versuchs mal so:
Option Explicit
Private Sub Ausfüllen()
Dim Zeile As Long, R As Long
Dim rng As Range, Arr, lastInd&
'set
Zeile = 15 ' beginnt bei Zeile 15
With ActiveSheet
Set rng = .Range(.Cells(Zeile, 1), .Cells(.Rows.Count, 2).End(xlUp))
End With
Arr = rng.Value
'daten eintragen
For R = 1 To UBound(Arr)
If Arr(R, 1) <> "" Then
lastInd = Arr(R, 1)
End If
If Arr(R, 2) <> "" Then
Arr(R, 1) = lastInd
End If
Next
'array in die Tabelle übertragen
rng.Value = Arr
End Sub
Man kann auch mit Ranges arbeiten statt mit Arrays. Sehe bei solchen Anwendungen aber darin keinen Vorteil, auch nicht für Anfänger.
Selekt solltest du am besten garnicht verwenden, macht dein Makro nur komplizierter, unflexibler, länger und sehr viel langsamer in der Ausführung.
Dass Array ist eigentlich nur eine Kopie der Zellinhalte eines Arbeitsbereiches (keine Formate etc.).
Gruß
Till
|