皆さんは、VBAで配列を使ったことがありますか?データをひとまとめにして使いたい場合に、配列はよく使います。まとめ配列とは最初に、配列について簡単に解説します。配列とは、「一度に複数の値を格納することができる変数」のことです。配列内のひとつひとつのデータは、要素と言います。要素には添字を指定することで、データにアクセスすることができます。言葉だけではわかりづらいので、簡単なサンプルを用意しました。"要素3"この例では、「strMessage」が配列になっており「strMessage(3)」と指定することで、要素が3つの配列を宣言しています。「strMessage(1)」「strMessage(2)」「strMessage(3)」のようにそれぞれアクセスすることで、値の出し入れをすることができます。違いとは配列には、静的配列と動的配列の2種類があります。2つの違いは、次の通りです。動的配列:後で要素数を指定こちらも言葉だけではわかりにくいので、サンプルコードを用意しました。Integer」のように要素の指定がないのが動的配列です。intNum(2)」のように配列の要素数を後から指定して使うことができます。静的配列で宣言してしまった場合は、後から要素数の変更ができないので、動的配列の使い方を覚えておくのがおすすめです!VBAで動的配列を書く方法とは次に、動的配列の使い方について詳しく解説します。動的配列の変数宣言方法はじめに、動的配列の変数を宣言する方法について解説します。静的配列と動的配列の違いで説明した通り、変数宣言時は要素数なしで次のように宣言します。Sub型にはInteger型、String型、Double型など通常の変数と同じように型を設定することができます。変数名にカッコ()をつけるだけなので、覚えやすいですね。次に、動的配列の初期化方法について解説します。配列を初期化するためには、Redimを使って次のように書きます。Sub要素数に1以上の数値を入れることで、配列の要素を作ることができます。次に、動的配列の要素に値を入れる方法について解説します。値を入れる場合は、配列名(要素)を指定して値を入れます。次に、要素を後から追加する方法について解説します。配列に値を入れた後に要素を追加したい場合は、Redimで再度要素数を宣言します。Sub実行結果:ただし、1点注意点があります。Redimで要素数を再設定すると、もともと入っていたデータをクリアして要素数を追加してしまいます。そのため、実行結果のように、「intNum(1)」「intNum(2)」に入れた値が初期化されて0になるわけですね。元のデータを残しつつ要素を追加したい場合は、Redimで要素数を増やすときにPreserveをつける必要があります。Sub実行結果:要素を追加して初期化したい場合はRedimのみ、値を残しつつ要素を追加したい場合はPreserveをつけてReDimと覚えればOKです。先ほどのようなシンプルな処理であれば、要素数を確認してReDimで要素を追加するのは簡単かもしれません。配列の数が増えてくると、全ての配列の要素数を意識しながらコードを書いていくのは難しいため、要素数を意識せずに要素を追加する方法を覚えておくのがおすすめです!UBOUND関数を使えば、簡単に配列の要素数を取得することができます。Sub実行結果:UBOUND関数で要素数を取得して、1足した数で要素数を追加すれば、要素数を意識せずに1つ要素を追加することができます。Sub実行結果:補足:その他の配列操作についてここまで配列、静的配列と動的配列の違い、動的配列の使い方について解説してきました。配列はとても奥が深いため、他の記事でも使い方をまとめています。2019年9月26日まとめ今回は、VBAで動的配列を操作する方法について解説しました。一度にまとめてデータを使いたい場合、動的配列を使うケースはよくあります。今回解説した方法は使い方も簡単なので、ぜひ使ってみてくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。Wakizaka新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。インフラ、製造、テスト、運用保守など、様々な経験あり。侍ブログ編集部として、これまでに200記事以上の記事を執筆。現在はフリーランスエンジニア兼テックライターとして活動中。