【画像あり】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.
  • 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
  • お客様にとって本当に良いことかを第一に考える人
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次