Dein Evaluate-Konstrukt ist falsch, weil Du mit der Formel versuchst, die Script-Variable zu manipulieren, obwohl Du nur auf die Felder des Dokuments zugreifen kannst.
doc.Liste = Evaluate({@Subset(Liste;-5)},doc)
sollte funktionieren.
Ob ein Redim Preserve vValue (6 to 10) funktionert, weiß ich nicht, auf solch eine Idee bin ich noch nie gekommen (obwohl es logisch klingt, glauben mag ich es nicht).
Da würde ich eine Schleife bauen
Dim vValue As Variant, i As Integer, x As Integer, y As Integer
x = Ubound (doc.Liste)
y = x - 4
If y > 0 Then
Redim vValue (4)
For i = 0 To 4
vValue (i) = doc.Liste (y + i)
Next i
doc.Liste = vValue
End If