例えば、A10:A110のセルの値を配列に取り込み、上下のセルの値の差を配列に突っ込んでから、B10:B110にセットするならこんな感じかと。
Dim X As Variant
Dim Z As Variant
Dim i As Long
Dim L As Long
Dim U As Long
X = Range("A10:A110")
Z = Range("A10:A110")
L = LBound(X, 1)
U = UBound(X, 1)
Z(L, 1) = X(L + 1, 1)
Z(U, 1) = -X(U - 1, 1)
For i = L + 1 To U - 1
Z(i, 1) = X(i + 1, 1) - X(i - 1, 1)
Next i
Range("B10:B110") = Z
すみません。
私のコードの
> X = Range("A10:A110")
> Z = Range("A10:A110")
> Range("B10:B110") = Z
は
X = Range("A10:A110").Value
Z = Range("A10:A110").Value
Range("B10:B110").Value = Z
としておいてください。