条件分岐 if then ステートメント
マクロ 56回
if then ステートメントを使って4通り以上の場合分け
IFS関数などを使ってしていた条件分岐をマクロで作成します。
(サンプルファイルは、こちらから
マクロ19回サンプルデータ)
if then ステートメントを使って4通り以上の場合分け
テストの結果が入力された表があって、ABCD の場合分けをする時に、IFS 関数ではなく、 マクロの条件分岐 if then ステートメントを使って4通り以上の場合分けをしようと思います。
if then ステートメントで ElseIf を使う場合は ElseIf~then のフレーズを何回でも使うことができます。
最後は必ずエンドで ステートメントを終了します。
表の行を For Next ステートメントで 増やす
このサンプルでは行は2行から9行まで順番に変わりますが 、列は B 列と C 列この2列しか使いません。
そこで行を変数として long 型で定義し For Next でサンドイッチにして2から9まで 順番に行の数値を増やしていきます。
Dim gyou As Long For gyou = 2 To 9
For Next ステートメントの間に if then
そしてこのFor Next ステートメントの間に if then Else ステートメント入れて行きます。
ここでは、範囲をCellsを使った方が、コードを記述しやすいです。
If Cells(gyou, 2).Value >= 400 Then Cells(gyou, 3).Value = "A"Cells(gyou,2)値が400点以上なら、隣のCells(gyou,3)の値は”A”とします。 同様に350点以上,300点以上、それ以外の点数を入力してやります。
コードはこのようになります。
Sub ABCD判定() Dim gyou As Long For gyou = 2 To 9 If Cells(gyou, 2).Value >= 400 Then Cells(gyou, 3).Value = "A" ElseIf Cells(gyou, 2).Value >= 350 Then Cells(gyou, 3).Value = "B" ElseIf Cells(gyou, 2).Value >= 300 Then Cells(gyou, 3).Value = "C" Else Cells(gyou, 3).Value = "D" End If Next End Sub
条件分岐マクロの実行
では、出来上がったマクロを実行します。
C列に判定の結果が入力されました。