>>66
全体的にマズイ

配列じゃない
添字は0から始まる
msgboxはめんどいのでdebug.printでコンソールに出力させたほうが良い

Sub a()
p(0) = 1
p(1) = 2
p(2) = 3
p(3) = 4
p(4) = 5
For x = 0 To 4
Debug.Print x & "番目 処理前 " & (p(x))
p(x) = 0
Debug.Print x & "番目 処理後 " & (p(x))
Next
End Sub


あと
p(0) = 1
p(1) = 2
p(2) = 3
p(3) = 4
p(4) = 5
は
p = Array(1, 2, 3, 4, 5)
でも可