【VBA】配列の使い方をマスター!コードスニペット一覧

VBA

配列の基本

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の配列に関するさまざまなコードスニペットを紹介しました。これらを活用して、効率的なプログラム作成を目指してください!

コメント

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