VBAで配列に要素を追加する方法

こんにちは!
今回は、 VBAを使って配列にデータを追加する方法を考えます。

配列に要素を追加する


VBAを使って配列にデータを追加するためには、配列を再定義する必要があります。
つまり、既存の配列に新しい要素を追加することはできません。

以下に、簡単なコード例を紹介します。例えば、配列aに1, 2, 3が格納されている場合、配列aに4を追加するには、以下のようにコードを書きます。

まず、配列aを再定義するために、ReDim Preserveステートメントを使用します。
これにより、配列aのサイズが1増加し、配列の要素を保持するために必要なメモリが再割り当てされます。
そして、新しい要素を配列の最後に追加するために、UBound関数を使用して、現在の最大の添字を取得します。

この方法を使用すると、配列に1つの要素を追加するだけでなく、複数の要素を追加することもできます。

配列の先頭にデータを追加する方法

では、配列の先頭にデータを追加するにはどうすればいいのでしょうか?

結論から言えば、
VBAで配列の先頭にデータを追加するには、ReDimステートメントを使用して、配列を1つ大きく拡張し、元のデータを移動させる必要があります。

以下は、配列myArrayの先頭に新しい要素newValueを追加する例です。

この例では、ReDim Preserveステートメントを使用して、既存の配列myArrayを1つ大きく拡張しています。
Preserveキーワードを使用することで、既存の配列の要素を保持し、新しい要素を追加することができます。
次に、Forループを使用して、配列の要素を1つずつ後ろに移動し、最後に新しい要素を先頭に追加しています。

削除するには?

VBAで配列の先頭のデータを削除するには、配列の要素を1つずつ前にずらす必要があります。

以下は、配列myArrayの先頭の要素を削除する例です。

この例では、Forループを使用して、配列の要素を1つずつ前にずらし、最後にReDim Preserveステートメントを使用して、配列のサイズを1つ小さくします。
また、配列に1つしか要素がない場合は、配列を再定義してサイズを0にします。

コメント