教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAのWorksheetFunctionオブジェクトで使用するMdeterm関数の使い方

構文

構文は以下の通りです。

WorksheetFunction.MDeterm(配列)

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。MDeterm関数は、行列の行列式を計算する関数です。この関数は、指定された範囲または配列が正方行列である場合に、その行列の行列式を返します。行列式とは、行列の特性を表す値で、特に線形代数で重要な役割を果たします。

プログラミング例

具体的なプログラミング例を紹介します。

(例1)2x2 行列の行列式を計算

Sub 行列式を計算()
    ' 変数を定義
    Dim 行列(1 To 2, 1 To 2) As Double
    Dim 結果 As Double
    ' 行列の値を設定
    行列(1, 1) = 3
    行列(1, 2) = 8
    行列(2, 1) = 4
    行列(2, 2) = 6
    ' 行列式を計算
    結果 = WorksheetFunction.MDeterm(行列)
    ' 結果を表示
    MsgBox "行列式は " & 結果 & " です。"
End Sub

上記のプログラムでは、2x2の行列を作成し、その行列の行列式をMDeterm関数で計算しています。行列の各要素は 行列(行, 列)形式で指定されており、MsgBox 計算結果を表示します。

(例2)Excelの範囲を使用して行列式を計算

Sub 範囲の行列式を計算()
    ' 変数を定義
    Dim 結果 As Double
    ' シートの範囲を指定して行列式を計算
    結果 = WorksheetFunction.MDeterm(Range("A1:B2"))
    ' 結果を表示
    MsgBox "範囲の行列式は " & 結果 & " です。"
End Sub

上記のプログラムでは、Excelワークシート上のセル範囲A1:B2を指定して、その範囲の行列式を計算しています。Rangeを使うことで、直接シート上のデータを扱うことができます。

まとめ

MDeterm関数は、行列の行列式を計算します。正方行列でのみ使用可能です。行列は配列またはシートの範囲として指定できます。