>>603
条件に合うものがないと ReDim 金額(1 To 0) の様になってエラーになる
VBAではReDimで空の配列は作れないので条件に合うものがない場合を場合分けして処理するしかない
例えば条件に合うものがない場合はD1を空にするなら最後の2行を

Dim 式 As String
If LBound(金額) < 書込行 <= Then
ReDim Preserve 金額(LBound(金額) To 書込行 - 1)
式 = Join("+", 金額)
Else
式 = """"""
End If
Range("D1").Formula = "=" & 式

とかにすればいい