01-VBA

演算子|Excel VBA (Part.2)【比較演算子】基本編 | 現役エンジニア&プログラミングスクール講師

目標

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ソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
01-VBA

Excel VBA の「Worksheetsプロパティ」と「Sheetsプロパティ」の違いと「Excelの持つシートの種類」| 現役エンジニア&プログラミングスクール講師

2022年12月21日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

ExcelVBAの「Range & Valueプロパティ」| 現役エンジニア&プログラミングスクール講師

2022年9月9日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

Excel VBA の イベント編(Part.2)Functionプロシージャ | 現役エンジニア&プログラミングスクール講師

2022年12月29日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

演算子|Excel VBA (Part.7)【その他の演算子】Is演算子 | 現役エンジニア&プログラミングスクール講師

2022年11月1日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

演算子|Excel VBA (Part.3)【比較演算子】条件の発展的な利用(前編)

2022年10月27日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site