こちらに「配列操作の実務サンプル集(検索・追加・削除・結合)」をまとめました。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で再結合して保存といった処理も簡単に実装できます。
