アーティクルタイトル 条件分岐 if then ステートメント

条件分岐 if then ステートメント
条件分岐 if then ステートメント

リンクユニット


マクロ 56回

if then ステートメントを使って4通り以上の場合分け

IFS関数などを使ってしていた条件分岐をマクロで作成します。


(サンプルファイルは、こちらから マクロ19回サンプルデータ

見出し3

テストの結果が入力された表があって、ABCD の場合分けをする時に、IFS 関数ではなく、 マクロの条件分岐 if then ステートメントを使って4通り以上の場合分けをしようと思います。
条件分岐 if then ステートメントマクロ1
if then ステートメントで ElseIf を使う場合は ElseIf~then のフレーズを何回でも使うことができます。 最後は必ずエンドで ステートメントを終了します。
条件分岐 if then ステートメントマクロ2

表の行を For Next ステートメントで 増やす

このサンプルでは行は2行から9行まで順番に変わりますが 、列は B 列と C 列この2列しか使いません。 そこで行を変数として long 型で定義し For Next でサンドイッチにして2から9まで 順番に行の数値を増やしていきます。
条件分岐 if then ステートメントマクロ3
    Dim gyou As Long
    For gyou = 2 To 9

For Next ステートメントの間に if then

そしてこのFor Next ステートメントの間に if then Else ステートメント入れて行きます。
条件分岐 if then ステートメントマクロ4
スポンサーリンク
スポンサーリンク
ここでは、範囲をCellsを使った方が、コードを記述しやすいです。
 If Cells(gyou, 2).Value >= 400 Then
      Cells(gyou, 3).Value = "A"
Cells(gyou,2)値が400点以上なら、隣のCells(gyou,3)の値は”A”とします。 同様に350点以上,300点以上、それ以外の点数を入力してやります。
条件分岐 if then ステートメントマクロ5
コードはこのようになります。
条件分岐 if then ステートメントマクロ6
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

条件分岐マクロの実行

では、出来上がったマクロを実行します。
条件分岐 if then ステートメントマクロ7
C列に判定の結果が入力されました。
条件分岐 if then ステートメントマクロ8