Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » 行列の積を求めるMMULT関数をVBAで

行列の積を求めるMMULT関数をVBAで

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2207 ビルド15427.20210 Microsoft Store)

「MMULT関数をVBAで使用する」
といった検索キーワードで、時折アクセスがあることに気がつきました。

行列の積を計算する、ExcelのMMULT関数Matrix MULTiplication)を、Excel VBAで使うにはどのようなコードを書けばいいのかを調べていた方による検索です。

[スポンサードリンク]

MMULT関数を使ったサンプルマクロ

下図のようなデータの存在するワークシートがアクティブな状態で、

以下のExcelマクロを実行してください。

Sub MMULT関数を使う()
 Dim rng1 As Range, rng2 As Range
 Set rng1 = Range("A1:B2")
 Set rng2 = Range("D1:E2")

 Dim arr As Variant
 arr = WorksheetFunction.MMult(rng1, rng2)
 Range("A4:B5").Value = arr
End Sub

下図のように、A4:B5セルに行列の積が計算されます。

上記の行列は、『数学ガールの秘密ノート/ゼロがゼロである理由(後編)』を参考にさせていただきました。

ローカルウィンドウで配列の中身を確認しましょう

行列の積をワークシートに出力するのではなく、何らかの計算で使用するのであれば、WorksheetFunction.MMultメソッドの戻り値を代入した変数arrを使うといいのではないでしょうか。

その場合、変数arrの中身を確認しておくことをおすすめします。

拙著『いちばんやさしいExcelVBAの教本』等でも繰り返し行っているように、ステップ実行を行い、

arr = WorksheetFunction.MMult(rng1, rng2)

の実行後に、

上図のように、ローカルウィンドウで変数arrの中身をご確認ください。

最終更新日時:2022-10-20 09:52

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » 行列の積を求めるMMULT関数をVBAで

「WorksheetFunction」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.