Hello cheapkid,

This macro will work as long as there are breaks (one or more empty rows) between the data. The last value in the range between blank rows is used to fill the range.
Sub Macro4()
    
    Dim Rng As Range
    Dim RngEnd As Range
    Dim rngArea As Range
    
        Set Rng = Range("C3")
        Set RngEnd = Cells(Rows.Count, Rng.Column).End(xlUp)
        If RngEnd.Row < Rng.Row Then Exit Sub
        
        Set Rng = Range(Rng, RngEnd)
    
        On Error GoTo ExitSub
        Set Rng = Rng.SpecialCells(xlCellTypeConstants)
        
        For Each rngArea In Rng.Areas
            rngArea.Value = rngArea.Cells(Rng.Rows.Count, 1).Value
        Next rngArea
                
ExitSub:
    ' Macro will exit here if the range is empty.
    
End Sub