マクロの行列の掛け算ができません
エクセルでマクロ勉強中の初心者です。
マクロで行列A(3行4列)、行列B(4行2列)の掛け算のプログラム(下記)を作っているのですが
「インデックスが有効範囲にありません」というエラーメッセージが出てしまいます。
エクセルで関数(MMULT)で同様の計算をするときちんと計算できるのですが・・・。
どなたか教えてください。
よろしくお願いいたします。
Sub s1()
' 次元の設定
Dim A(3, 4), B(4, 2), C(3, 2)
N1 = 3: N2 = 4: N3 = 3
' データの入力 (行列AとBの設定)
For I = 1 To N1: For J = 1 To N2
A(I, J) = Worksheets("s1").Cells(I, J)
Next J: Next I
For I = 1 To N2: For J = 1 To N3
B(I, J) = Worksheets("s1").Cells(I, J + 5)
Next J: Next I
' ベクトルの内積
For I = 1 To N1
For J = 1 To N3
For K = 1 To N2
C(I, J) = C(I, J) + A(I, K) * B(K, J)
Next K
Next J
Next I
' 結果の出力
For I = 1 To N1
For J = 1 To N3
Worksheets("s1").Cells(I + 6, J + 7) = C(I, J)
Next J
Next I
End Sub