【画像あり】Redimの使い方Excel VBAのReDimの使い方と活用法

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。
SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。
お気軽にお問い合わせください。
目次
ReDimとは?配列のサイズ変更が可能に
VBAでは、配列のサイズを動的に変更することができます。これを可能にするのがReDimです。
宣言の方法
Redimの場合は、変数宣言時に変数名の後に()を付けます。
Sub VariantArrayExample()
Dim myArray() As Integer
ReDim myArray(1 To 3) ' 配列の初期サイズを設定
myArray(1) = 1
myArray(2) = 2
myArray(3) = 3
Debug.Print myArray(1)
Debug.Print myArray(2)
Debug.Print myArray(3)
End Sub

サイズの変更方法
サイズの変更は、ReDim Preserveを使うことで、既存のデータを保持しながら配列サイズを変更できます。
Sub VariantArrayExample()
Dim myArray() As Integer
ReDim myArray(1 To 3) ' 配列の初期サイズを設定
myArray(1) = 1
myArray(2) = 2
myArray(3) = 3
Debug.Print myArray(1)
Debug.Print myArray(2)
Debug.Print myArray(3)
ReDim Preserve myArray(1 To 5)
myArray(4) = 4
myArray(5) = 5
Debug.Print myArray(1)
Debug.Print myArray(2)
Debug.Print myArray(3)
Debug.Print myArray(4)
Debug.Print myArray(5)
End Sub

ReDimの活用例
業務効率化のために、データを動的に扱う必要がある場面を考えてみましょう。たとえば、ユーザーからの入力に応じて配列のサイズを変更することができます。
Dim userInputs() As String
Dim inputCount As Integer
inputCount = InputBox("何回入力をしますか?")
ReDim userInputs(1 To inputCount)
For i = 1 To inputCount
userInputs(i) = InputBox("入力してください")
Next i
まずは、4行目のインプットボックスで値を受取ります。

受け取った数字に基づいて、5行目で配列を作成。
あとは、繰り返し処理で入力をしてもらうインプットボックスを表示。

まとめ
配列の大きさを自由に変更できることで、とても便利に処理ができるようになります。
ぜひ、活用してみてくださいね!
記事を書いた人

稲垣
- Excel、ACCESSでのシステム開発が得意
- ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
- 自家焙煎するほどのコーヒー好き
- 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
- 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
- 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
- お客様にとって本当に良いことかを第一に考える人
コメント