You could write a macro and assign a keyboard shortcut to it. Here's one attempt. It may be slow
with a large range because of the rather primitive method (the For/Next loop) I used to prevent
overwriting data.
Option Explicit
Sub ClickFillHandle()
Dim AdditionalRows As Long
Dim ColOffset As Long
Dim LastRow As Long
Dim RangeToFill As Range
Dim SelRows As Long
With Selection
With .Cells(1)
If IsEmpty(.Offset(0, -1).Value) = False Then
ColOffset = -1
ElseIf IsEmpty(.Offset(0, 1).Value) = False Then
ColOffset = 1
Else
ColOffset = 0
End If
End With
If ColOffset Then
SelRows = .Rows.Count
LastRow = .Cells(1).Offset(0, ColOffset).End(xlDown).Row
AdditionalRows = LastRow - .Row + 1 - SelRows
'set variable for proposed fill range
Set RangeToFill = .Offset(SelRows, 0).Resize(AdditionalRows)
'if it's not empty, decrease its size by removing
'rows at the bottom until it is empty, then AutoFill it
For AdditionalRows = AdditionalRows To 1 Step -1
If Application.CountA(RangeToFill.Resize(AdditionalRows)) = 0 Then
.AutoFill .Resize(RowSize:=SelRows + AdditionalRows), xlFillDefault
Exit Sub
End If
Next AdditionalRows
End If
End With
End Sub