注目キーワード
  1. VBA
  2. 関数
  3. ショートカット

ExcelVBAで条件分岐を学ぼう①

  • 2019年3月20日
  • VBA
  • 12回
  • 0件
VBA NO IMAGE

①条件式と論理値

VBAでは、何らかの「条件」を設定して、その判定結果が正しいか正しくないかによって、それぞれ別の処理を行うことができます。たとえば、セルの値やシートの状態などを判定することができます。ここではまず「条件」の設定方法を紹介します。

・条件式について

VBAで設定できる「条を表す件」には、作業内容ごとにさまざまなものがあります、Excelの作業では、対象のセルが空白か入力済みか、入力済の場合は数値か文字列か、数値の場合は10以上か10未満かなど、データの判定に利用できます。

「対象のセルの値」は、そのセルRangeオブジェクトのValueプロパティで取得できます。それを利用してB5セルが空白かどうかは「””」を使って調べられます。

これだけだとB5セルに空白文字列「””」を代入するステートメントのように見えますが、条件式ではこれをステートメントとしては使わず、次項で紹介する「Ifステートメント」と組み合わせて、条件を判定する「式」として使います。

VBEのイミディエイトウィンドウで、この式の前に「?」を付けて実際に試してみると条件式の判定結果が表示されます。

・実行結果

条件式を判定した結果は、正しい(真)を意味する「True」、または正しくない「偽」を意味する「False」のどちらかです。この2種類の値によって表示されるデータを「論理値」と呼びます。上記の条件式の場合、B5セルが未入力の場合か、数式の結果として空白文字列が返されている場合はTrue、何らかのデータが入力されている場合はFalseという判定になります。

・比較演算子について

上記の条件式では、2つの値が等しいかどうかを判定するために「=」を使用していますが条件式に使える主な比較演算子には下記の物もあります。

比較演算子 機能 Trueになる例 Falseになる例
= 左辺と右辺が等しい 5 = 5 6 = 5
<> 左辺が右辺と等しくない 7 <> 3 3  <> 3
> 左辺が右辺より大きい 4 > 2 8 > 8
>= 左辺が右辺以上 8 >= 8 4 >= 5
< 左辺が右辺より小さい 3 < 7 4 < 4
<= 左辺が右辺以下 4 <= 4 3 <= 2

たとえば、「A3セルの値が50以下」という条件式は、次のように指定します。

・論理演算子について

たとえば、2つの条件しきがどちらとも正しかった場合だけ処理を実行したい、というケースも考えられます。このような条件は、次のような式で表すことができます。

式の中間位なる「And」は、その左右の利器が「両方ともTrue」の場合だけTrueを返す「論理演算子」です。論理演算子にはこれ以外にも、左右の式の「どちらか一方がTrue」ならTrueを返す「Or」、直後に指定した式の論理値の逆を返す「Not」などがあります。

NO IMAGE
最新情報をチェックしよう!