目標
VBAの比較演算子について基本を理解して利用できる。
演算子には算術演算子・比較演算子・論理演算子・代入演算子・連結演算子があります。この記事では制御構文で利用する比較演算子について記載しています。
比較演算子の概要と利用方法
比較演算子とは
比較演算子はある値(または演算結果)と別の値(または演算結果)を比較し真偽値を返す演算子で、よく制御構文の条件に利用されます。
比較演算子は左辺と右辺を比べる演算子です。表の太文字の部分が比較演算子となります。
比較演算子 | 比較演算子の意味 |
左辺 = 右辺 | 左辺と右辺の値が等しい |
左辺 > 右辺 | 左辺の値が右辺の値より大きい |
左辺 < 右辺 | 左辺の値が右辺の値より小さい |
左辺 >= 右辺 | 左辺の値が右辺の値以上 |
左辺 <= 右辺 | 左辺の値が右辺の値以下 |
左辺 <> 右辺 | 左辺と右辺の値が等しくない |
比較演算の利用方法
ここではシンプルな比較をいくつか考えてみたいと思います。
inputBoxから入力された文字列が「ほわほわ」と等しい |
inputBoxからの入力が「空」かキャンセル |
inputBoxからの入力が数値の5以上 |
セルA1から取得した数値が5000よりも大きい |
セルB5とセルC5の値を比較してセルB5の方がセルC5以下 |
inputBoxからの入力が数値の0と等しくない |
アクティブセルが「空」でない |
シンプルな「比較」のサンプルプロシージャ
プロシージャの実行方法はこちらを参考にしてください。
初めてのExcelVBA:プロシージャの記述と実行ExcelVBAのモジュールとプロシージャについて確認してその生成方法などを説明...
一例ですが、次のような表現となります。判断基準とする条件(今回は右辺の「ほわほわ」)と比較対象とする値(今回は左辺の「変数」)を比較します。条件の成立は入力値によって変化するので基本的には変数を利用して比較すると覚えておくと良いです。※右辺左辺の両方とも変数で値を持ってくる場合もあります。
inputBoxから入力された文字列が「ほわほわ」と等しい If InputChar = “ほわほわ” Then ※入力された文字列を変数(InputChar)に代入しているのがポイントです。 |
Sub inputCharFunc1()
Dim InputChar As String
InputChar = InputBox("文字を入力")
'上で「ほわほわ」と入力したかしないかで条件が分かれる
If InputChar = "ほわほわ" Then
MsgBox "条件が合いました。"
End If
End Sub
inputBoxからの入力が「空」かキャンセル If InputChar = “” Then ※入力された文字列を変数(InputChar)に代入しているのがポイントです。 |
Sub inputCharFunc2()
Dim InputChar As String
InputChar = InputBox("文字を入力")
'上で空文字かキャンセルボタンが押下された条件時
If InputChar = "" Then
MsgBox "条件が合いました。"
End If
End Sub
inputBoxからの入力が数値の5以上 If InputNum >= 5 Then ※入力された数値を変数(InputNum)に代入しているのがポイントです。 |
Sub inputCharFunc3()
Dim InputNum As Integer
InputNum = InputBox("数字を入力")
'上で5以上の数字を入力したかが条件となります
If InputNum >= 5 Then
MsgBox "条件が合いました。"
End If
End Sub
セルA1から取得した数値が5000よりも大きい If InputNum >= 5000 Then ※セルA1から取得した数値を変数(InputNum)に代入しているのがポイントです。 |
Sub inputCharFunc4()
Dim InputNum As Integer
Worksheets("sheet1").Activate
InputNum = Range("A1").Value
If InputNum >= 5000 Then
MsgBox "条件が合いました。"
End If
End Sub
セルB5とセルC5の値を比較してセルB5の方がセルC5以下 If Range(“B5”).Value <= Range(“C5”).Value Then ※セルの値を今回は変数を利用せずにそのまま比較しています。基本的には変数に代入して比較を行いますが、こういった処理も可能です。 |
Sub inputCharFunc5()
If Range("B5").Value <= Range("C5").Value Then
MsgBox "条件が合いました。"
End If
End Sub
inputBoxからの入力が数値の0と等しくない If InputNum <> 0 Then ※<>で右の値と等しくないという意味になります。 |
Sub inputCharFunc6()
Dim InputChar As Integer
InputChar = InputBox("文字を入力")
If InputChar <> 0 Then
MsgBox "条件が合いました。"
End If
End Sub
アクティブセルが「空」でない If InputChar <> “” Then ※<>と””が連続で記述されているので意味が分かりづらいですが、 これで「””(カラ)<>(でない)」を表現しています。 |
Sub inputCharFunc7()
Worksheets("sheet1").Range("D10").Activate
If ActiveCell <> ”” Then
MsgBox "条件が合いました。"
End If
End Sub
今回は以上です。
初心者も実践で通用!「VBA・VBS」おすすめ書籍5選 | 現役エンジニア&プログラミングスクール講師「VBA・VBS」初心者の方が実践業務の中でそれらを活用しt活躍できるために必要な知識を習得できる書籍を紹介しています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。
「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...