ExcelマクロVBA練習問題解答 | 練習問題5(ElseIfとSelect Caseの練習)回答 | Excelマクロ練習問題集、エクセルVBAの学習教材



最終更新日:2015-10-22

練習問題5(ElseIfとSelect Caseの練習)回答

練習問題5の回答ページです、


問題


・昨年比を計算して、それぞれの列に入れて下さい。
・昨年比の数値により、記号を入れて下さい。

 S : 105%以上
 A : 100%以上、105%未満
 B : 95%以上、100%未満
 C : 90%以上、95%未満
 D : 90%未満

※昨年比 = 今年売上 ÷ 昨年売上
※D列は事前に%編集してあることとして下さい。

  A     B     C     D    E
日付 昨年売上 今年売上 昨年比 記号
1月1日 304 323    
1月2日 305 279    
1月3日 972 970    
1月4日 684 631    
1月5日 703 689    
1月6日 628 653    
1月7日 619 648    
1月8日 366 324    
1月9日 949 917    
1月10日 229 245    
1月11日 507 525    
1月12日 666 673    
1月13日 728 793    
1月14日 272 288    
1月15日 236 217    
1月16日 334 367    
1月17日 490 458    
1月18日 655 589    
1月19日 348 359    
1月20日 744 687    


※上記表の全体選択し、コピー(Ctrl+C)の後、エクセルのシートのA1セルに貼り付け(Ctrl+V)してください。


では、お考えください。

すぐに回答を見ずに、必ず自力で書けるとこまででも良いので書きましょう。


・・
・・・
・・・・
・・・・・

当サイトのコンテンツ

ExcelマクロVBA入門

ここで、じっくり勉強して下さい。



・・
・・・
・・・・
・・・・・




では、回答です。

Sub 練習問題5_1()
  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) = "S"
    ElseIf Cells(i, 4) >= 1 Then
      Cells(i, 5) = "A"
    ElseIf Cells(i, 4) >= 0.95 Then
      Cells(i, 5) = "B"
    ElseIf Cells(i, 4) >= 0.9 Then
      Cells(i, 5) = "C"
    Else
      Cells(i, 5) = "D"
    End If
  Next
End Sub
Sub 練習問題5_2()
  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) = "S"
      Case Is >= 1
        Cells(i, 5) = "A"
      Case Is >= 0.95
        Cells(i, 5) = "B"
      Case Is >= 0.9
        Cells(i, 5) = "C"
      Case Else
        Cells(i, 5) = "D"
    End Select
  Next
End Sub


ElseIf

Select Case
の2通りで回答しました。
しかし、多肢選択においては、Select Caseの方が可読性が良く
また、その後の変更にも柔軟に対応しやすくなります。
なるべく、Select Caseを使用するようにしましょう。
ただし、どちらでも書けるように練習しておきましょう。

以下も参考にして下さい。

ExcelマクロVBA入門.第21回.条件分岐(ElseIf)

ExcelマクロVBA入門.第22回.条件分岐(Select Case)





同じテーマ「マクロVBA練習問題解答」の記事

練習問題2(最終行の取得の練習)回答
練習問題3(二重ループの練習)回答
練習問題4(Ifの練習)回答
練習問題6(変数を使っての合計の練習)回答
練習問題7(メッセージボックスの練習)回答
練習問題8(表示形式の練習)回答
練習問題9(文字色・背景色の練習)回答
練習問題10(罫線の練習)回答
練習問題11(色々なコピーの練習)回答
練習問題12(日付関数の練習)回答

新着記事 ・・・新着記事一覧を見る

For Next の使い方いろいろ|VBA技術解説(6月14日)
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)
ファイルの操作|MOS VBAエキスパート対策(3月14日)
ユーザーフォームの各種イベント|Excelユーザーフォーム(3月13日)
レジストリの操作|MOS VBAエキスパート対策(3月12日)
変数と配列|MOS VBAエキスパート対策(3月12日)
Colorプロパティの設定値一覧|VBA技術解説(3月12日)
APIとOLEオートメーション|MOS VBAエキスパート対策(3月11日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.変数とデータ型(Dim)|ExcelマクロVBA入門
3.マクロって何?VBAって何?|ExcelマクロVBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.RangeとCellsの使い方|ExcelマクロVBA入門
7.とにかく書いて見よう(Sub,End Sub)|VBA入門
8.まずはマクロVBAを使う準備|ExcelマクロVBA入門
9.繰り返し処理(For Next)|ExcelマクロVBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門



  • >
  • >
  • >
  • 練習問題5(ElseIfとSelect Caseの練習)回答

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。





    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ

    ↑ PAGE TOP