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

ファイル名一括変更のマクロ(一覧作成)(2ページ目)

複数のファイルの名前を一括で変更するマクロプログラム「リネームマクロ」の作成方法を連載形式で紹介します。第1回目のこの記事では、変更元のファイル名一覧を作成する部分を作成します。

緑川 吉行

執筆者:緑川 吉行

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


Do...Loopステートメントとは

Do...Loopステートメントは、処理を繰り返すときに使用する命令です。同じような命令に、For...Nextステートメントがありましたね。これらの違いは、For...Nextステートメントが、ループカウンタ変数の終了値の指定が必要だったのに対し、Do...Loopステートメントではこれが不要です。まさに、今回のように、処理を何回繰り返すかわからないときに活用できるステートメントといえるでしょう。

Do...Loopステートメントの構文は次のとおりです。「Do」と「Loop」の間に記述した命令が繰り返し実行されます。Do...Loopステートメントの書き方は様々なパターンがありますが、下図の場合、Untilキーワードのあとに記述した条件が「命令を実行する前」に判断され、条件が満たされると命令を実行せずに、繰り返し処理を終了します。
Do...Loopステートメントの構文 ※Do...Loopステートメントの書き方のパターンは、Whileキーワードを使用して条件を記述したり(継続条件)、条件をLoopの後に記述したりすることができるため、これらの組み合わせで合計4パターンの書き方あります。詳しくは別記事で紹介します。

Do...Loopステートメントの構文
※Do...Loopステートメントの書き方のパターンは、Whileキーワードを使用して条件を記述したり(継続条件)、条件をLoopの後に記述したりすることができるため、これらの組み合わせで合計4パターンの書き方あります。詳しくは別記事で紹介します。



Do...Loopステートメントを使用する上での4つのポイント

たとえば、下のマクロを実行すると、メッセージで1から5の数値が表示されます。
Do...Loopステートメントのサンプル

Do...Loopステートメントのサンプル

サンプルの実行結果

サンプルの実行結果



このマクロには、Do...Loopステートメントを使用する上で重要なポイントが4つ含まれています。まず、カウンタ変数の宣言と初期化です。処理を繰り返すわけですから、何回処理を繰り返したかカウンタする変数が必要になります(カウンタ変数の宣言)。そして、カウントし始める数値を設定して(カウンタ変数の初期化)、実際にカウントする処理(カウンタ変数の加算)を記述します。忘れてはならないのはDo...Loopステートメントの終了条件の記述。ここでは、カウンタ変数が「6」になったら、命令を実行しないで、繰り返し処理を終了させています。カウンタ変数は「1」で初期化されているわけですから、これで、メッセージで1から5まで表示されるわけです。
Do...Loopステートメントの4つのポイント

Do...Loopステートメントの4つのポイント



Do...Loopステートメントを使用してマクロのイメージを整理しよう

それでは、Do...Loopステートメントを使用して、先に示したマクロのイメージを書き換えてみましょう。まず、繰り返す命令を「ファイル検索」から「セル入力」までとしてくくり出したいところですが、1つめのファイル検索と2つめ以降のファイル検索では、Dir関数の書き方に違いがあります。当然、繰り返す処理としてくくりだす命令は同じ記述になる必要があるので、くくりだす単位は下図のようになります。
繰り返す処理をくくりだす

繰り返す処理をくくりだす



続いて、Do...Loopステートメントを使用してマクロのイメージを書き換えましょう。まず、カウンタ変数を「i」という名前で宣言します。このカウンタ変数は、命令が実行されるたびに加算されるわけですから、カウンタ変数を入力先のセルの行番号として活用します(「エクセルでシート作成するマクロ(For文の活用)」で似たような活用方法を解説しています)。入力先は7行目からなので、カウンタ変数は「7」で初期化します。また、「ファイルが見つかったかどうかの確認」はDo...Loopステートメントの終了条件となります。
Do...Loopステートメントを使用して整理した今回のマクロのイメージ

Do...Loopステートメントを使用して整理した今回のマクロのイメージ



次ページから、いよいよマクロを作成します!

  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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