|
今晩は。
A B C
1つ目の行列
2 1 1 1
3 2 2 2
4 3 3 3
1つ目の行列
12 1 1 1
13 2 2 2
14 3 3 3
15
行列積を A22 から貼り付け
22
23
24
の場合のコードはこんな感じになります。
Address(0, 0)を使って、行と列の指定を楽にしています。
参考にしてください。
Sub 行列積()
Dim n1 As Long, n2 As Long
Dim m1 As Long, m2 As Long
Dim addrss1 As String, addrss2 As String
'
'1つ目の行列の範囲 (m1,n1)行列
m1 = 3: n1 = 3
addrss1 = Range("A2").Resize(m1, n1).Address(0, 0)
'2つ目の行列の範囲 (m2,n2)行列
m2 = 3: n2 = 3
addrss2 = Range("A12").Resize(m2, n2).Address(0, 0)
'
'行列積の貼り付け
Sheets("sheet1").Range("A22").Resize(m1, n2).FormulaArray = _
"=MMult(Sheet1!" & addrss1 & "," & "Sheet1!" & addrss2 & ")"
End Sub
|
|