MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


VBAにおける条件分岐
profile-img
投稿者: thirumaさん
投稿日:2019/07/11 14:44
更新日:
like-img
分類
技術
テクノロジー
Windows系サーバ
キャリア
テクニカルサポート / 構築 / 設計 / PL / PM
投稿内容

VBAの条件を指定し、その条件だった場合(そうでなかった場合)の処理について

「if」を用いた条件式を紹介していきます。



こちらの表内の「購入者の年齢」欄に、「20以上」の数字を入れると

「購入可否」欄に「購入可」、「19以下」の数字を入れると「購入不可」

と出力させます。


実際の構文はこちらとなります。

 If Range("B3").Value >= 20 Then
       Range("C3").Value = "購入可"

まず、「B3」のセルに入れる数字が「>=」の場合、

「C3」セルで「購入可」と出力されるように設定します。

このような「>」や「=」を比較演算子といいます。


・比較演算子の種類

[1] =:等しい
[2] <>:等しくない

[3] <:より小さい
[4] <=:以下
[5] >:より大きい
[6] =>:以上
[7] Like:文字列のあいまい検索
[8] Is:オブジェクトの変数

となっています。

つまり、「>=」は「20より大きい」、「20と等しい」場合に

「C3」に「購入可」が出力されます。


  Else
       Range("C3").Value = "購入不可"
       End If

「else」以降は「そうでなかった場合」の処理となります。

つまり入力された文字が「19以下」の処理は、「C3」に「購入不可」と

出力されます。


If Range("B4").Value >= 20 Then
       Range("C4").Value = "購入可"
Else
       Range("C4").Value = "購入不可" 
       End If


同様に「B4」で入力された値に応じて「C4」に「購入可」「購入不可」を

表示させる処理を実行します。


また、条件分岐させた際の処理について複数記載することも可能です。

例えば、


Range("△▼").Interior.Color = vbRed or   vbGreen

を入れた場合、条件によってセルの背景色を緑または赤に変更することが可能です。

(.Interior.Color  で背景色の変更)

今回の紹介では20以上を背景色「緑」

19以下を背景色「赤」に設定します。


対象の表に「30」と「7」を入れてマクロを実行します。


「30」を入力した隣のセルは「購入可」となり緑色に

「7」を代入した隣のセルは「購入不可」となり赤色に

変化することが確認できました。


また「~でない場合」に焦点を当てる場合

[1] If Not Range("B3").Value = "東京都" Then
[2] If Range("B3").Value <> "東京都" Then

の2パターンがあります。(どちらも意味は同じです。)


ご覧いただき、ありがとうございました。


■参考元

https://www.fastclassinfo.com/entry/excel_vba_if


コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3