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)





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

練習問題6(変数を使っての合計の練習)回答
練習問題7(メッセージボックスの練習)回答
練習問題8(表示形式の練習)回答
練習問題9(文字色・背景色の練習)回答
練習問題10(罫線の練習)回答
練習問題11(色々なコピーの練習)回答
練習問題12(日付関数の練習)回答

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

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

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

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.定数と型宣言文字(Const)|ExcelマクロVBA入門
10.CSVの読み込み方法|ExcelマクロVBAサンプル集



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

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


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

    ↑ PAGE TOP