Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » VBAでAVARAGE関数の引数に配列変数を指定する

VBAでAVARAGE関数の引数に配列変数を指定する

対象:Excel2007, Excel2010, Excel2013

VBAでAVARAGE関数の引数に配列変数を指定する

「excel vba 配列 平均値 ワークシート関数」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

VBA(Visual Basic for Applications)から、ワークシート関数のAVARAGEを使って、配列変数に格納されているデータの平均を計算するにはどうすればいいのかを探している方による検索でしょうか。

この検索キーワードだけでは詳細がわかりませんので、参考になりそうなサンプルマクロを3つご紹介しておきます。

[スポンサードリンク]

ワークシート関数・AVARAGEの引数に配列を指定するサンプルマクロ

まずは1次元配列に個別に数値データを入力しておいて、AVARAGE関数で平均を計算する基本です。
Sub AVARAGE関数の引数に配列を()
 Dim arr(1 To 3) As Double
 arr(1) = 5
 arr(2) = 5
 arr(3) = 5
 MsgBox WorksheetFunction.Average(arr)
End Sub

添え字・インデックスが「1」はじまりで、要素数が3の、1次元の配列変数を宣言して、
 Dim arr(1 To 3) As Double

配列の各要素に数値データを代入して、
 arr(1) = 5
 arr(2) = 5
 arr(3) = 5

ワークシート関数・AVARAGEの引数に、配列を指定しています。
 MsgBox WorksheetFunction.Average(arr)

ワークシート関数・AVARAGEの引数にArray関数で作られた配列を指定するサンプルマクロ

Array関数を使って1次元配列を作成して、AVARAGE関数で平均を計算する例もあげておきましょう。
Sub AVARAGE関数の引数に配列を_Array関数()
 Dim arr As Variant
 arr = Array(5, 5, 5)
 MsgBox WorksheetFunction.Average(arr)
End Sub

Variant型の変数を宣言しておいて、
 Dim arr As Variant

Array関数で1次元配列を作成して、
 arr = Array(5, 5, 5)

ワークシート関数・AVARAGEの引数に、配列を指定しています。
 MsgBox WorksheetFunction.Average(arr)

ワークシート関数・AVARAGEの引数に2次元配列を指定するサンプルマクロ

セル範囲のデータを2次元配列に格納しておいてから、AVARAGE関数で平均を計算する例もあげておきましょう。

セル範囲に数値データを入力しておいてから以下のマクロを実行すると、入力されていた数値の平均がメッセージボックスに表示されます。
Sub AVARAGE関数の引数に配列を_2次元配列()
 Dim arr As Variant
 arr = Selection.Value
 MsgBox WorksheetFunction.Average(arr)
End Sub

Variant型の変数をしておいて、
 Dim arr As Variant

セル範囲のデータを格納して2次元配列を作成して、
 arr = Selection.Value

配列変数をワークシート関数・AVARAGEの引数に指定しています。
 MsgBox WorksheetFunction.Average(arr)

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » VBAでAVARAGE関数の引数に配列変数を指定する

「WorksheetFunction」の記事一覧

検索


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

.