このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】Array関数の使い方を解説

2024年9月4日

今回はArray関数の使い方を紹介します。

Array関数は自由な配列を作れる便利な関数です。

この記事ではArray関数の基本的な使い方とArray関数の2つのポイントについて紹介します。

  1. 代入する変数はVariant型
  2. インデックス番号は0始まり

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

Array関数の基本的な使い方

Sub ArraySample1()
    
    Dim arr As Variant
    arr = Array("文字列", 1, 1.2345) '文字列や数値型が混在してもOK
    
    Debug.Print arr(0) '文字列
    Debug.Print arr(1) '1
    Debug.Print arr(2) '1.2345
End Sub

Array関数はArray(要素1, 要素2, 要素3, …)として使います。

Array関数はカンマ区切りで渡した要素を配列にして返してくれます。

自由な配列を簡単に作れるのが嬉しいところです。

要素とする型に制限はなく、サンプルコードのように文字列や数値型を混在させることができます。

ポイント1: 代入する変数はVariant型にする

Sub ArraySample2()
    
    Dim arr As Variant '代入する変数はVariant型
    arr = Array("文字列", 1, 1.2345)
End Sub

Array関数を代入する変数(ここではarr)は必ずVariant型としてください。

たとえ要素がすべて文字列だったとしても、Dim arr() As Stringとすると実行時エラーになります。

ポイント2: インデックス番号は0始まり

Sub ArraySample3()
    
    Dim arr As Variant
    arr = Array("文字列", 1, 1.2345) '文字列や数値型が混在してもOK
    
    Debug.Print LBound(arr) '0 LBound関数:インデックス番号の最小値
End Sub

Array関数が返す配列のインデックス番号は0始まりとなります。

For文などでうっかり1始まりにしないように注意しましょう。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい