Excel VBAの使い方/マクロ・VBA

配列変数を使用したデータ取得テクニック

「入力データの行数を取得するテクニック」に引き続き、作成してきたマクロを改善しながら、より高度なVBAテクニックを紹介します。今回は、配列変数を使用したデータ取得テクニックの紹介です。

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド

入力データの行数を取得するテクニック」では、これまで作成してきた「ブックを作成するマクロ」について、「シート枚数とシートの名前の設定方法」を改善しながら、データが入力されている行数を取得するテクニックを紹介しました。今回は、2つ目の改善点「シートの名前データを取得するタイミング」を修正しながら、ちょっぴり高度なVBAのテクニックを紹介します。

シートの名前に設定するデータを取得するタイミング


現在作成しているマクロでは、シート名に設定したいデータを「実際にシート名を設定するタイミング」で取得しています。つまり、「新規ブックを作成したあと」のタイミングになっています。

シート名に設定したいデータは、マクロのブックに入力されているので、現状では、「新規ブック」がアクティブな状態で「マクロのブック」のセルを参照しています。このように、アクティブでないブック上のセルを参照する場合は、「どのブック上なのか」を指定する必要があるため、マクロのステートメントが冗長になっています。


一方、ブック名のデータは、新規ブックを作成する前、つまり「マクロのブック」がアクティブな状態でセルを参照し、セルのデータを変数に格納してから新規ブックで使用しているため、マクロのステートメントがスッキリしています。また、アクティブなブックのアクティブなワークシート上のセルなので、ワークシート名の記述も不要です。


そこで、シート名についても、マクロのブックがアクティブな状態で取得し、変数に格納してから使用するように修正します。

ところが、ブック名のデータ数はひとつですが、シート名の数は複数です。したがって、ブック名のように変数にデータを格納するわけにはいきません。そこで登場するのが「配列変数」です。

>早速、配列変数について学習しましょう。次ページへどうぞ!
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます