切手代表示の例題
定型外郵便のグラム数を入れて切手代を表示する例題を考えてみましょう。定型外の規格は長辺が14センチから60センチまで、長辺+短辺+厚さが90センチまでの4キログラム以下となっています。この規格内での切手の金額を求めます。
切手代表示のマクロのリストです
[リスト14]Kitte(Select文例題.xlsm)
Sub Kitte()
Ans = 0
Select Case Cells(6, 4) '(1)
Case 1 To 50 '(2)
Ans = 120
Case 51 To 100
Ans = 140
Case 101 To 150
Ans = 200
Case 151 To 250
Ans = 240
Case 251 To 500
Ans = 390
Case 501 To 1000
Ans = 580
Case 1001 To 2000
Ans = 850
Case 2001 To 40000
Ans = 1150
End Select
Cells(10, 4) = Ans '(3)
End Sub
(1)グラム数の値をCellsプロパティで設定しています。
(2)のCase文でそれぞれのグラムに合う切手代をAnsに設定しています。
(3)は切手代を表示しています。
今回「(3)Select Case 変数 Case 値1 To 値2 End Select」で作成しましたが、「(2)Select
Case 変数 Case Is 条件式 End Select」で作成することもできます。余力のあるかたは、試してみてください。
処理の中にはわざわざVBAで作らなくても、Excel表にある関数群でできるものもたくさんあります。どちらが良い悪いではなく、作成者自身がどちらが作りやすいか?ということが大切だと思います。同じ処理でもVBAで悩んで作成し達成感を感じたり、せっかく作ったVBAのマクロと同じ処理をする関数をEXCEL関数群で見つけてがっかりしたり、それもまた楽しい経験ではないでしょうか?
まとめ
条件分岐、If文とSelect文を説明しました。まとめて複数行同じ処理を行いたい時のために繰り返し処理があります。次回は繰り返し処理について説明したいと思います。
WINGSプロジェクト 横塚利津子著/山田祥寛監修 <WINGSプロジェクトについて>テクニカル執筆プロジェクト(代表 山田祥寛)。海外記事の翻訳から、主にWeb開発分野の書籍・雑誌/Web記事の執筆、講演等を幅広く手がける。2009年4月時点での登録メンバは30名で、現在も一緒に執筆をできる有志を募集中。