VBA

VBAで「If〜ElseIf〜End」と「Select Case〜Case〜End Select」の違いのと使い方

目安時間 6分
  • コピーしました

プログラミングには、書き方は違うが同じ処理をする方法があります。
今回は、その一つとして
If〜ElseIf〜End」と「Select Case〜Case〜End Select」をお伝えします。
使い分けについては、処理の内容を考慮してどちらが良いかを考える必要がありますね
まずは、「If〜ElseIf〜End」のやり方について勉強したことを記載します。
If〜ElseIf〜End」の勉強の課題として下記の条件を設定しました。
【課題】
・昨年比(%)を計算して、それぞれの列に設定
・昨年比の数値により、記号を設定
A : 105%以上
B : 100%以上、105%未満
C : 95%以上、100%未満
D : 90%以上、95%未満
E : 90%未満
※昨年比 = 今年売上 ÷ 昨年売上

【VBA】
ボタンを追加してVBAが実施出来るようにしました。

Sub ElseIf()
Dim i As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    Cells(i, 4) = Cells(i, 3) / Cells(i, 2)
    If Cells(i, 4) >= 1.05 Then
        Cells(i, 5) = "A"
    ElseIf Cells(i, 4) >= 1 Then
        Cells(i, 5) = "B"
    ElseIf Cells(i, 4) >= 0.95 Then
        Cells(i, 5) = "C"
    ElseIf Cells(i, 4) >= 0.9 Then
        Cells(i, 5) = "D"
    Else
        Cells(i, 5) = "E"
    End If
Next
End Sub


簡単な説明
・「Cells(Rows.Count, 1).End(xlUp).Row」については、「VBAで「最終行の取得」を使って見よう」を参照してください
・「Cells(i, 4) = Cells(i, 3) / Cells(i, 2)」は、昨年比の計算
・「If Cells(i, 4) >= 1.05 Then」は、昨年比が「A : 105%以上」の場合に、「Cells(i, 5) = "A"」で記号に設定
※以下同じ様に条件を比較して、記号を設定する

それではもう一つの「Select Case〜Case〜End Select」のやり方について勉強したことを記載します。
「Select Case〜Case〜End Select」の勉強の課題として下記の条件を設定しました。
【課題】
・昨年比(%)を計算して、それぞれの列に設定
・昨年比の数値により、記号を設定
A : 105%以上
B : 100%以上、105%未満
C : 95%以上、100%未満
D : 90%以上、95%未満
E : 90%未満
※昨年比 = 今年売上 ÷ 昨年売上
【VBA】
ボタンを追加してVBAが実施出来るようにしました。
※上記の画像と同じ結果となります

Sub Select()
Dim i As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    Cells(i, 4) = Cells(i, 3) / Cells(i, 2)
    Select Case Cells(i, 4)
        Case Is >= 1.05
            Cells(i, 5) = "A"
        Case Is >= 1
            Cells(i, 5) = "B"
        Case Is >= 0.95
            Cells(i, 5) = "C"
        Case Is >= 0.9
            Cells(i, 5) = "D"
        Case Else
            Cells(i, 5) = "E"
    End Select
Next
End Sub


簡単な説明
・「Cells(Rows.Count, 1).End(xlUp).Row」については、「VBAで「最終行の取得」を使って見よう」を参照してください
・「Cells(i, 4) = Cells(i, 3) / Cells(i, 2)」は、昨年比の計算
・「Select Case Cells(i, 4)」は、昨年比見て、下記にあるどのCaseに該当するかを見て記号を設定

あなたのお役に立てるなら、コピーして使用してください。

今後も勉強した内容を記載して行きますので、お役に立てるものがあれば使ってください。

VBA開発もしておりますので開発のご要望があればご連絡をください。

VBA開発依頼受付はこちらから

  • コピーしました

この記事に関連する記事一覧

この記事を書いた人

すーさん

生きるためにはお金が必要

すーさん

50歳を超えてから副業を始めました。 どのような副業をしようか、悩みに悩んだ結果、『どんなものでも売る力』をつける。 これしかないです。 そのために、マーケティングを学ぶことを決めました。 古来より、価値の交換(ものを売る)は行われてきました。 これからも、価値の交換(ものを売る)は無くなるとは思えません。 今だけ稼ぎたいなら他にも選択はあるが、年と共に覚えも悪くなるので、いつまでも使える知識としてマーケティングを選びました。 マーケティングは学べば学ぶほど面白いものです。 人はどうしてそれを選ぶのだろう、人はどうしてそれを買うのだろう、人はどうしてそれを買わないのだろう。 このようなことがわかれば、後はどのようにすれば、人は選び、買ってくれるのかがわかります。 あなたも少しでも興味がありましたら、私と一緒に学びましょう。 「売れなかったものでも」「どんなものでも」『売る力』を身につけましょう。 お問い合わせ

コメントフォーム

名前  (必須)

メールアドレス (公開されません) (必須)

URL (空白でもOKです)

コメント

CAPTCHA


トラックバックURL: 
 プロフィール

すーさん

生きるためにはお金が必要

すーさん

50歳を超えてから副業を始めました。 どのような副業をしようか、悩みに悩んだ結果、『どんなものでも売る力』をつける。 これしかないです。 そのために、マーケティングを学ぶことを決めました。 古来より、価値の交換(ものを売る)は行われてきました。 これからも、価値の交換(ものを売る)は無くなるとは思えません。 今だけ稼ぎたいなら他にも選択はあるが、年と共に覚えも悪くなるので、いつまでも使える知識としてマーケティングを選びました。 マーケティングは学べば学ぶほど面白いものです。 人はどうしてそれを選ぶのだろう、人はどうしてそれを買うのだろう、人はどうしてそれを買わないのだろう。 このようなことがわかれば、後はどのようにすれば、人は選び、買ってくれるのかがわかります。 あなたも少しでも興味がありましたら、私と一緒に学びましょう。 「売れなかったものでも」「どんなものでも」『売る力』を身につけましょう。 お問い合わせ

最近の投稿
アーカイブ