プログラミング

【PR】を含みます。

【VBA】配列に値を動的に追加する方法

VBAで配列に値を動的に追加する方法

業務でよく使用するため、VBAで配列に値を動的に追加する方法をメモしておきます。

【実装コード】VBAで配列に値を動的に追加する関数

VBA
Copy
  1. Public Function add_to_arr(ByVal arr As Variant, ByVal val As Variant) As Variant
  2.     '配列に値を追加
  3.     Dim reArr As Variant
  4.     If IsArray(arr) Then
  5.         ' 配列が存在する場合、既存の配列を拡張して値を追加
  6.         reArr = arr
  7.         ReDim Preserve reArr(UBound(reArr) + 1)
  8.         reArr(UBound(reArr)) = val
  9.     Else
  10.         ' 配列が存在しない場合、新しい配列を作成し、値を追加
  11.         ReDim reArr(0)
  12.         reArr(0) = val
  13.     End If
  14.     add_to_arr = reArr
  15. End Function

add_to_arr()関数の使用方法

第一引数のarrに値を追加したい配列を指定、第二引数のvalに配列に追加する値を指定することで、配列に値を動的に追加することができます。

各引数について

  1. arr (必須)
    値を追加したい配列を指定します。
  2. val (必須)
    配列に追加する値を指定します。

add_to_arr()関数の使用例

以下では、変数myArray(配列)に値(5)を追加しています。

VBA
Copy
  1. Sub sample()
  2.     Dim myArray As Variant
  3.     myArray = Array(1, 2, 3, 4)
  4.     ' 配列に値を追加
  5.     myArray = add_to_arr(myArray, 5)
  6. End Sub
  7. Public Function add_to_arr(ByVal arr As Variant, ByVal val As Variant) As Variant
  8.     '配列に値を追加
  9.     Dim reArr As Variant
  10.     If IsArray(arr) Then
  11.         ' 配列が存在する場合、既存の配列を拡張して値を追加
  12.         reArr = arr
  13.         ReDim Preserve reArr(UBound(reArr) + 1)
  14.         reArr(UBound(reArr)) = val
  15.     Else
  16.         ' 配列が存在しない場合、新しい配列を作成し、値を追加
  17.         ReDim reArr(0)
  18.         reArr(0) = val
  19.     End If
  20.     add_to_arr = reArr
  21. End Function

Excel VBAで初心者を卒業したいという方におすすめの1冊

アイコン画像

もみじ

入門書レベルの内容を理解できる方におすすめの1冊で、実務で必要なスキルを学ぶことができます。

具体的には、コーディングの作法や効率的なコーディング方法、CSVやWeb上のデータとの連携方法、そしてマクロの高速化などの実務で役立つスキルを学ぶことができます。

-プログラミング
-, ,