Excel VBA | VBA 配列関連関数一覧

Excel VBA VBA
スポンサーリンク

こちらに「配列操作の実務サンプル集(検索・追加・削除・結合)」をまとめました。
Array / Split / Join / ReDim Preserve / Filter などを組み合わせることで、実務でよくある配列処理を効率化できます。


配列操作サンプル集

1. 配列内検索(Filter)

Sub SearchInArray()
    Dim arr As Variant, result As Variant
    arr = Array("Apple", "Banana", "Apricot", "Orange")
    
    ' "Ap" を含む要素を抽出
    result = Filter(arr, "Ap")
    
    If UBound(result) >= 0 Then
        MsgBox "検索結果: " & Join(result, ", ")
    Else
        MsgBox "該当なし"
    End If
End Sub
VB

👉 部分一致検索で条件に合う要素を抽出。


2. 配列に要素を追加(ReDim Preserve)

Sub AddToArray()
    Dim arr() As String
    Dim i As Long
    
    ' 初期化
    ReDim arr(0)
    arr(0) = "A"
    
    ' 要素追加
    For i = 1 To 3
        ReDim Preserve arr(UBound(arr) + 1)
        arr(UBound(arr)) = "追加" & i
    Next i
    
    MsgBox Join(arr, ", ")
End Sub
VB

👉 ReDim Preserveで配列を拡張し、データを追加。


3. 配列から要素を削除(任意位置)

Sub RemoveFromArray()
    Dim arr As Variant
    Dim i As Long, pos As Long
    
    arr = Array("A", "B", "C", "D")
    pos = 2 ' 削除したい位置(0始まり、ここでは "C")
    
    For i = pos To UBound(arr) - 1
        arr(i) = arr(i + 1)
    Next i
    ReDim Preserve arr(UBound(arr) - 1)
    
    MsgBox Join(arr, ", ")
End Sub
VB

👉 任意の位置の要素を削除し、残りを詰める。


4. 配列の結合(Join / Split)

Sub MergeArrays()
    Dim arr1 As Variant, arr2 As Variant, merged As Variant
    Dim i As Long, j As Long, k As Long
    
    arr1 = Array("A", "B", "C")
    arr2 = Array("D", "E")
    
    ReDim merged(UBound(arr1) + UBound(arr2) + 2)
    
    k = 0
    For i = LBound(arr1) To UBound(arr1)
        merged(k) = arr1(i)
        k = k + 1
    Next i
    For j = LBound(arr2) To UBound(arr2)
        merged(k) = arr2(j)
        k = k + 1
    Next j
    
    MsgBox "結合結果: " & Join(merged, ", ")
End Sub
VB

👉 複数配列を1つにまとめる


✅ まとめ

  • 検索Filter
  • 追加ReDim Preserve
  • 削除 → 要素をシフトして ReDim Preserve
  • 結合 → ループでコピー or Join/Split

💡 この仕組みを応用すれば、CSV文字列をSplitで配列化 → 検索・加工 → Joinで再結合して保存といった処理も簡単に実装できます。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました