はじめに
学習記録・復習のためまとめています。IT業界2年目のひよっこです。
ステートメントとは
マクロの中で動きの命令をするもの。条件分岐や繰り返し文など、マクロの動作を制御したり、変数を宣言したりできる。
Callステートメント
<こんなときに使える>
・作成済みのマクロ(プロシージャ)を呼び出したい
・記述量を最小限にしたい
Call マクロ名
Call マクロ名( ) ←かっこは不要!
Withステートメント
<こんなときに使える>
・繰り返し同じ対象について記述する
・記述量を最小限にしたい
・可視性を高めたい
With 対象 'シートやセルなど指定可能
.処理
.select
.values など
End With
処理の前に「.」をつけることで「対象を(の)」という意味になる
例 「.select」→「対象を選択する」
「.values」→「対象の値」
※with内で別な対象(別なセルなど)を書いた場合は、明記された対象が実行される!
ifステートメント
<こんなときに使える>
・条件分岐させたいとき
・条件を比較したいとき
If 条件 then
処理
ElseIf 処理
Else 処理
End If
thenを次の行に書くと「コンパイルエラー」が発生する。
もし次の行に跨ぎたい場合は「行継続文字(_)」を使用する。
※1行分の中で最大24回までは使用可能
Ifステートメントで使用可能な比較演算子
演算子 | 説明 |
---|---|
= | 等しい |
< | より大きい |
<= | 以上 |
> | より小さい |
>= | 以下 |
<> | 等しくない |
And | 全ての条件に合致する |
Or | いずれか一つの条件に合致する |
※以上、以下は「=」が「<」や「>」の後につくため注意!
Select Caseステートメント
<こんなときに使える>
・複数の条件を同時に判定したいとき
Select Case 値
Case 条件1
処理
Case 条件2
処理
Case Else '※同じ行に処理を記載するとコンパイルエラー
処理
End Select
Elseも同様に「Case」がつく!
分岐指定の際は必ず「Case」が先頭につくと覚えておく!
条件の指定方法
値 | 意味 |
---|---|
1,2,3 | 1または2または3の場合 |
1 To 10 | 1から10の場合 |
例 「,」と「To」は同時に使用可能!
Dim month
month = Range("B10")
Select Case month
Case 3 To 5
MsgBox "春"
Case 6 To 8
MsgBox "夏"
Case 9 To 11
MsgBox "秋"
Case 12, 1 To 2
MsgBox "冬"
Case Else
MsgBox "1~12の数字を入力ください"
End Select