Array関数

Array関数は、VBA関数の中で配列・エラー関数に分類される関数です。

目次

スポンサー リンク

Array関数とは

Array関数は、配列が格納されたバリアント型 (Variant) の値を返します。

構文Array(arglist)
引数省略説明
arglist ×引数 arglist には、値のリストをカンマ (,) で区切って指定します。指定した値は、バリアント型 (Variant) に格納されている配列の要素に代入されます。引数 arglist を指定しない場合は、長さ 0 の配列が作成されます。

配列の要素を参照するには、変数名の後にかっこを付け、かっこの中に参照する要素のインデックス番号を指定します。次の例の最初のステートメントでは、バリアント型 (Variant) の変数 A を宣言しています。2 番目のステートメントでは、変数 A に配列を代入しています。最後のステートメントでは、配列の 2 番目の要素に格納されている値を、別の変数に代入しています。
Dim A As Variant
A = Array(10,20,30)
B = A(2)
Array 関数を使用して作成した配列のインデックスの最小値は、常に 0 です。ほかの種類の配列とは異なり、Option Base ステートメントに最小値を指定しても影響を受けません。
配列として宣言していないバリアント型 (Variant) に、配列を格納することができます。また、バリアント型変数には、固定長文字列およびユーザー定義型以外の型の配列を格納できます。配列を格納したバリアント型は、バリアント型の要素を持つ配列とは概念的に異なりますが、各要素に対する処理方法は同じです。

Array関数のサンプルコード

次の例では、Array 関数を使って、配列を格納したバリアント型 (Variant) を返します。


Sub sample()

Dim MyWeek, MyDay
MyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
' 返される配列の添字の下限は、Option Base ステートメントにより、
' 1 に設定されているものとします。
MyDay = MyWeek(2)            ' MyDay に "Tue" が格納されます。
MyDay = MyWeek(4)            ' MyDay に "Thu" が格納されます。

End Sub

実行結果

解説

配列・エラー関数一覧

関数名内容
Array配列が格納されたバリアント型の値を返します。
CVErr指定したエラー番号をバリアント型の値に変換します。
Error指定したエラー番号に対応するエラーメッセージを返します。
IsArray変数が配列かどうかを調べた結果を返します。
IsError式がエラー値かどうか調べた結果を返します。
LBound指定できる配列のインデックス番号の最小値を返します。
UBound指定できる配列のインデックス番号の最大値を返します。
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

スポンサー リンク

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

スポンサー リンク

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。