EXCEL VBA IF文での演算子(And Or Not)の使い方
EXCEL VBA IF文での演算子(And Or Not)の使い方
●はじめに
先日、IF~Thenの使い方を説明しましたが、IF~Then(条件式)と演算子(And Or Not)と組み合わせる事により、IF文を利用した複雑な条件式のVBAプログラムを作成するする事ができます。ここでは、And・Or・Notを利用したサンプルプログラムを下記により、説明いたします。
If And thenの使い方(And条件)
●プログラム説明
下記のサンプルプログラムは、国語と英語の点数を入力します。演算式でAndを使いますので、国語と英語が70点以上なら合格、いずれかまたは、両方が69点以下なら不合格と条件判定します。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub if_and() Dim KOKUGO, EIGO As Long KOKUGO = InputBox("国語の点数を入力して下さい") EIGO = InputBox("英語の点数を入力して下さい") If KOKUGO >= 70 And EIGO >= 70 Then msgbox "国語・英語ともに合格です。" '条件式に国語と英語が70点以上なら合格 Else msgbox "不合格です。" '国語・英語のうちいづれかまたは、両方が69点以下なら不合格 End If End Sub |
●実行結果
実行後、「国語の点数を入力して下さい」と表示されるので、国語の点数を入力します。次に、「英語の点数を入力して下さい」と表示されるので、英語の点数を入力します。入力した国語と英語の点数で、国語と英語が70点以上なら”国語・英語ともに合格”と表示・国語・英語のうちいづれかまたは、両方が69点以下なら”不合格です”と表示されます。
●入力値 ※①国語の点数を入力します。 ②英語の点数を入力します。(クリックして拡大)
●実行後 ※入力した結果が、国語80点・英語70点と入力しましたので、条件により「国語・英語ともに合格」と表示されます。(クリックして拡大)
If Or thenの使い方(Or条件)
●プログラム説明
下記のサンプルプログラムは、国語と英語の点数を入力します。演算式でOrを使いますので、国語か英語のいづれかが70点以上なら合格、両方が69点以下なら不合格と条件判定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Sub if_OR() Dim KOKUGO, EIGO As Long KOKUGO = InputBox("国語の点数を入力して下さい") EIGO = InputBox("英語の点数を入力して下さい") If KOKUGO >= 70 Or EIGO >= 70 Then MsgBox "合格です。" '条件式に国語と英語がいづれか70点以上なら合格 Else MsgBox "不合格です。" '国語と英語の両方が69点以下なら不合格 End If End Sub |
●実行結果
実行後、「国語の点数を入力して下さい」と表示されるので、国語の点数を入力します。次に、「英語の点数を入力して下さい」と表示されるので、英語の点数を入力します。入力した国語と英語の点数で、国語と英語のいずれかが70点以上なら”合格です”と表示・国語・英語の両方が69点以下なら”不合格です”と表示されます。
●入力値 ※①国語の点数を入力します。 ②英語の点数を入力します。(クリックして拡大)
●実行後 ※入力した結果が、国語70点・英語65点と入力しましたので、条件により「合格です。」と表示されます。(クリックして拡大)
If NOT thenの使い方(Not条件)
●プログラム説明
下記のサンプルプログラムは、国語を入力します。演算式でNotを使いますので、国語が70点以上じゃ無ければ不合格、70点以下ではなければ合格。Notをつけると条件に対しての否定になるので、逆の表現になりますので、注意して下さい。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub if_NOT() Dim KOKUGO As Long KOKUGO = InputBox("国語の点数を入力して下さい") If Not KOKUGO >= 70 Then MsgBox "国語は不合格です。" '国語69点以下なら不合格 Else MsgBox "国語は合格です。" '国語70点以上なら合格 End If End Sub |
●実行結果
実行後、「国語の点数を入力して下さい」と表示されるので、国語の点数を入力します。 50点を入力しましたので、条件で70点以上では無いので”国語は不合格です”と表示されます。
●入力値 ※国語の点数を入力します。(クリックして拡大)
●実行後 ※国語の入力結果により、入力した値が50点ですので、70点以上では無いので、”国語は不合格です”と表示されます。(クリックして拡大)
最後まで、ご覧いただきまして誠に有難うございました。
以上で、IF~Thenで利用するした。演算子(And・Or・Not)の説明です。ちょっと複雑ですが、理解できると、色々な条件・複数条件にも対応できます。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。
以上で、IF~Thenで利用するした。演算子(And・Or・Not)の説明です。ちょっと複雑ですが、理解できると、色々な条件・複数条件にも対応できます。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。