条件によってやることを変える | ExcelVBA基礎

エクセルの”条件付き書式”は便利です。

セルの値が10以下なら、文字を赤色にして、50とイコールならセルの背景色を黄色にする、などということが簡単にできます。

ただ、3つまでしか条件を指定できませんし、その条件に合致したときにできることはセルの書式を変更することだけです。

VBA(マクロ)であれば、もっと条件を多く、複雑なことをすることができます。

その機能を制御構造とかステートメントなどといいます。

ステートメントには、主として

  1. 条件分岐
  2. 条件に合致するまで繰り返しある機能を行う(ループ処理)
  3. あらかじめ決められた回数だけ繰り返しある機能を行う(ループ処理)

があります。

条件分岐

”条件分岐”は、条件付き書式と似たものです。

または、ワークシート関数の”IF関数”と同じようなものです。

エクセルの中級者であれば、すでになじみがあるはずです。

いずれにせよ、条件に合致するかしないかで、プログラムがすることを変えます。

  1. IF文
  2. If Else 文
  3. If ElseIf 文
  4. Select Case 文(1) (2)

ループ処理(条件に合致するまで繰り返す)

 条件に合致するあいだ、ループします。

たとえば、指定したセルがすべて入力されるまで、「必須項目が入力されていません」とメッセージを表示させ次の処理に移行させない、などで使用できます。
まずは概要を読んで、ざっくりと理解してください。

  1. Do While Loop 文
  2. Do Until Loop 文
  3. Do Loop While 文
  4. Do Loop Until 文

ループ処理(指定した回数だけ繰り返す)

回数を指定してループします。セルA1~A100までに「1,2,3・・・」と連番を振る、などで使用します。

If文やDo文と違い、条件は指定しません。もっぱら繰り返し処理をするために使います。

  1. For 文
  2. For Each 文

制御構造に必須のおまけ

上記だけでは説明しきれない使いこなしに必須の項目を説明します。おまけと書きましたが、実際はオプション的なものではありません。

  1. With文
  2. Exit ステートメント
  3. 無限ループを止める方法

 


最終更新:2010年09月12日 13:16
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。