配列操作

定数配列を使用する(Split/Arrayで代用)【ExcelVBA】

配列の要素を、定数として使用たい場合があります。
Excelマクロには定数の要素はありませんが、Split関数を使用して定数配列っぽく使用します。

■使用例
・決まった値があり定数を使用したいが、コードが助長化してしまう。
・決まった値があり列挙型定数を使用したいが、コードが助長化してしまう。

今回の記事は、Split関数を使用して疑似的に定数配列として使います。

定数配列のサンプルコード

'■事前にConstで文字列を定数で宣言しておく
Const ARR_CONST_WORD As String = "ExcelVBA,AccessVBA,GoogleAppScript,Python"

'■配列に定数を使用するサンプル
Public Sub sample_array_const_split()
    Dim arr As Variant
    
    '■Split関数を使用し、定数配列のように使用する
    arr = Split(ARR_CONST_WORD, ",")
    
    Debug.Print arr(0) 'ExcelVBA
    Debug.Print arr(1) 'AccessVBA
    Debug.Print arr(2) 'GoogleAppScript
    Debug.Print arr(3) 'Python
    
End Sub

const arr() as string のように使用してもコンパイルエラーが発生します。

コンパイルエラー:
修正候補 As または =
その為、少し面倒ですが、Constで使用したい文字列を宣言後、Split関数で配列生成をします。
詳細は下記記事を参照してください。
文字列を分割して配列に値を格納する【Split関数】
指定した要素で配列を作成【Array関数】【ExcelVBA】

関連記事

配列の宣言(静的/動的/1次元/2次元)【ExcelVBA】

コメント

タイトルとURLをコピーしました