配列の基本
VBAでは、配列を使うことで効率的にデータを管理できます。以下に配列の基本的な宣言方法を紹介します。
Dim arr(1 To 5) As Integer
arr(1) = 10
arr(2) = 20
動的配列の使用方法
動的配列はサイズを変更できる便利な機能です。
Dim dynArr() As Integer
ReDim dynArr(1 To 3)
dynArr(1) = 10
多次元配列の例
複数の次元を持つ配列も簡単に使えます。
Dim multiArr(1 To 2, 1 To 3) As String
multiArr(1, 1) = "A"
multiArr(2, 3) = "B"
配列の初期化
配列をゼロまたは特定の値で初期化する場合は以下のようにします。
Dim arr(1 To 5) As Integer
Dim i As Integer
For i = LBound(arr) To UBound(arr)
arr(i) = 0
Next i
配列の結合
複数の配列を結合する方法です。
Dim arr1(1 To 3) As String
Dim arr2(1 To 2) As String
Dim combinedArr() As String
arr1(1) = "A": arr1(2) = "B": arr1(3) = "C"
arr2(1) = "D": arr2(2) = "E"
ReDim combinedArr(1 To UBound(arr1) + UBound(arr2))
Dim i As Integer
For i = 1 To UBound(arr1)
combinedArr(i) = arr1(i)
Next i
For i = 1 To UBound(arr2)
combinedArr(UBound(arr1) + i) = arr2(i)
Next i
配列のソート
配列を昇順または降順でソートするコードはこちらです。
Dim arr(1 To 5) As Integer
Dim i As Integer, j As Integer, temp As Integer
arr(1) = 5: arr(2) = 3: arr(3) = 4: arr(4) = 1: arr(5) = 2
For i = LBound(arr) To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(i) > arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Next j
Next i
配列の検索
特定の値を検索する簡単なコード例です。
Dim arr(1 To 5) As Integer
Dim i As Integer, target As Integer
arr(1) = 10: arr(2) = 20: arr(3) = 30: arr(4) = 40: arr(5) = 50
target = 30
For i = LBound(arr) To UBound(arr)
If arr(i) = target Then
MsgBox "見つかりました: インデックス " & i
Exit For
End If
Next i
配列をクリアする
配列を初期化またはクリアする場合のコード例です。
Erase arr
まとめ
この記事では、VBAの配列に関するさまざまなコードスニペットを紹介しました。これらを活用して、効率的なプログラム作成を目指してください!
コメント