AW: Automatisches Auffüllen Zellen
David
Hallo Robert,
hier eine Variante, die ich selbst verwendet, mit variabler Eingabe des betreffendes Bereichs:
Sub fill_lines()
Dim first_line As Integer
Dim last_line As Integer
Dim spalte_AN As String
Dim spalte_BN As String
Dim spalte_N As Byte
Dim spalte_O As Byte
first_line = CInt(0 & InputBox("erste Zeile?", , 2))
last_line = CInt(0 & InputBox("letzte Zeile?", , ActiveSheet.UsedRange.Rows.Count))
spalte_AN = InputBox("Spalte von?", , "a")
spalte_BN = InputBox("Spalte bis?", , "a")
If first_line <= 1 Then first_line = 2
If last_line = 0 Then last_line = Range(spalte_AN & "65536").End(xlUp).Row
If spalte_AN = "" Then spalte_AN = "a"
If spalte_BN = "" Then spalte_BN = spalte_AN
spalte_N = Asc(spalte_AN)
If spalte_N < 91 And spalte_N > 64 Then
spalte_N = spalte_N - 64
ElseIf spalte_N < 123 And spalte_N > 96 Then
spalte_N = spalte_N - 96
Else:
MsgBox ("falsche Eingabe, nur Buchstaben von A-Z (a-z) erlaubt")
Exit Sub
End If
spalte_O = Asc(spalte_BN)
If spalte_O < 91 And spalte_N > 64 Then
spalte_O = spalte_O - 64
ElseIf spalte_O < 123 And spalte_O > 96 Then
spalte_O = spalte_O - 96
Else:
MsgBox ("falsche Eingabe, nur Buchstaben von A-Z (a-z) erlaubt")
Exit Sub
End If
For Zeile = first_line To last_line
For Spalte = spalte_N To spalte_O
'Cells(Zeile, spalte_N).Select
If Cells(Zeile, Spalte).Value = "" Then
Cells(Zeile, Spalte).Value = Cells(Zeile - 1, Spalte).Value
End If
Next
Next
End Sub
Im Unterschied zur Variante von Petra werden hier die Leerzellen mit dem tatsächlichen Wert gefüllt und nicht mit dem Verweis auf die vorherige Zelle (also einer Formel).
Gruß
David