ich möchte in einer Excel-Tabelle
1. manuell einen gewissen Bereich markieren
2. und dann ein Makro nur für diesen Bereich ausführen.
Erreichen möchte ich, dass leere Zellen mit dem Wert aus der darüber gelegenen Zelle gefüllt werden. Als Beispiel folgendes :
Ausgangsbasis
Name1 Vorname1 Hobby1
Hobby2
Hobby3
Name2 Vorname2 Hobby1
Hobby4
Name2 Vorname3 Hobby1
Hobby4
Ergebnis nach Makro
Name1 Vorname1 Hobby1
Name1 Vorname1 Hobby2
Name1 Vorname1 Hobby3
Name2 Vorname2 Hobby1
Name2 Vorname2 Hobby4
Name2 Vorname3 Hobby1
Name2 Vorname3 Hobby4
Gefunden habe ich dazu folgendes Makro:
Sub auffuellen()
Dim zz#, sp%
Application.ScreenUpdating = False
sp = Selection.Column
For zz = 2 To 70
With ActiveSheet
If .Cells(zz, sp) = "" Then
.Cells(zz - 1, sp).Copy
.Paste Destination:=.Cells(zz, sp)
End If
End With
Next
Application.ScreenUpdating = True
End Sub
Das funktioniert auch soweit ganz gut, da es mir für die aktuelle Spalte die Werte bis Zeile 70 füllt. Ich hätte allerdings gerne, dass es gleich mehrere Spalten abarbeitet und ich nicht ein festes Zeilenende vorgeben muss, sondern die Markierung als Bereich gewählt wird. Optimum wäre, wenn ich nur die gewünschten Spalten markieren würde und dann die Zellen in den markierten Spalten bis zu derjenigen Zeile gefüllt würden, in der letztmalig in irgendeiner Zelle des gesamten Blattes (nicht nur innerhalb der Markierung) ein Wert steht.
Hat da jemand einen Vorschlag ?
Danke und Gruß, Stefan