やりたいこと
条件によって処理を変更する
Excelで下記のようなデータがあるとします。
備考を参照して、
速達の場合は配送料を500円
普通の場合はを300円
それ以外の場合は800円
として配送料の合計を求めるということをVBAを使ってやりたいと思います。
コードと解説は以下の通りです。
【VBA コード】
ポイント
定数の宣言と値の設定は最初にする
変数の宣言と値の設定は、プロシージャの先頭で行うようにします。
マクロの動作的にはどこで設定しても問題ありませんが、コードの途中で変数を宣言したり、値を設定すると可読性が低くなってしまうことが多いです。
複数の条件を指定しても「End if」は1つだけ
If文の中で複数条件を設定して「ElseIf」を使用した場合でも「End If」は最後に1つだけ記述することに注意が必要です。
End Ifは省略することも可能
条件式や処理の内容が短い時は、If~Thenステートメントをまとめて入力することができます。
例えば「A=1であればX=1、Aが1以外であればX=0」を表すときは
If A = 1 Then X = 1 Else X = 0
と記述することができます。
省略した際は「End If」や「ElseIf」は使用することができないので注意が必要です。
Debug.Printを活用する
Debug.Printを使うと、マクロの実行中にセルや変数の内容をVBEのイミディエイトウィンドウに表示することができます。
表示タブ→イミディエイトウィンドウクリックで表示できるのでぜひ上手く活用してみてください。
Select Caseで条件を判定する
今回は「ElseIf」「Else」を使って複数条件の指定を行いましたが、
Select Caseを使用することでより簡単に条件を指定することが可能です。
先ほどのコードのIf文をSelect Caseで書き換えると以下のようになります。
ひとこと
条件分岐は一番よく使うので、書き方はしっかりと身に付けておきたいです。
UipathでもIf文やSelect Caseは頻繁に使用するので、使い方はすぐに理解することができました(^-^)
できるシリーズはフルカラーでかなり細かいところまで画像を使って解説してあるのでオススメです!