ユーザー定義関数で成績評価の関数
マクロ講座44回
![ユーザー定義関数で成績評価の関数](gazo2013/2013_macro_44.png)
![ユーザー定義関数で成績評価の関数](gazo2013/2013_macro_44.png)
Select Casesuステートメントで作るユーザ定義関数
評価付を簡単にするユーザ定義関数
普段何気なくしていることを、便利なユーザー定義関数にしてみます。
商品の売上コンテストや、学校でのテストの成績などで、評価をつけることがあります。
評価付簡単にするためにSelect Casesuステートメントを使ったユーザー定義関数を作ります。
また応用として、お買上金額ごとに値引率を設定するユーザー定義関数もIf~Then~Else ステートメントを使って作成しましょう。
(サンプルファイルは、こちらから 2013マクロ講座42回サンプルデータ)
便利なユーザ定義関数 評価づけの関数
サンプルでは、以下の成績一覧にA~Eの5段階評価をつけます。
![便利なユーザ定義関数](gazo2013/macro/2013_macro_44_01.png)
![便利なユーザ定義関数](gazo2013/macro/2013_macro_44_01.png)
ユーザ定義関数をシートで入力すると以下のようになります。
=hyouka(B2)
![便利なユーザ定義関数2](gazo2013/macro/2013_macro_44_02.png)
=hyouka(B2)
![便利なユーザ定義関数2](gazo2013/macro/2013_macro_44_02.png)
ユーザ定義関数を作るには、VBEエディターを起動し、Functionプロシージャの構文にそってコードを入力します。
![ユーザー定義関数](gazo2013/macro/function.png)
![ユーザー定義関数](gazo2013/macro/function.png)
今回の評価付けのユーザー定義関数では、
Select Casesuステートメントを利用します。
![Select Case](gazo2013/macro/select_case.png)
![Select Case](gazo2013/macro/select_case.png)
評価付けのユーザー定義関数コードは、以下のようになります。
このコードを標準モジュールにペーストするか、記入するかすれば、使うことができます。コード自体は、簡単なのでいろいろと応用もできますね。
![便利なユーザ定義関数3](gazo2013/macro/2013_macro_44_03.png)
Function hyouka(tensu As Variant) As String Select Case tensu Case Is >= 80 hyouka = "A" Case Is >= 70 hyouka = "B" Case Is >= 60 hyouka = "C" Case Is >= 50 hyouka = "D" Case Else hyouka = "E" End Select End Function
![便利なユーザ定義関数3](gazo2013/macro/2013_macro_44_03.png)
お買上金額ごとに値引率を設定するユーザー定義関数
応用例として、お買上金額ごとに値引率を設定するユーザー定義関数を考えましょう。
もし、~ならば、○○ という構文、If~Then~Else ステートメントを使います。
もし、~ならば、○○ という構文、If~Then~Else ステートメントを使います。
![if_then_else](gazo2013/macro/if_then_else.png)
bargenという名前のユーザー定義関数を作成します。引数は売上でSalesとします。コードは、以下のようになります。
Function bargen(Sales_V As Variant) As Variant If Sales_V < 1000 Then bargen = Sales_V * 0.03 ElseIf Sales_V >= 1000 And Sales_V < 3000 Then bargen = Sales_V * 0.06 ElseIf Sales_V >= 3000 And Sales_V < 5000 Then bargen = Sales_V * 0.09 ElseIf Sales_V >= 5000 Then bargen = Sales_V * 0.15 End If End Function
=bargen(B2)と入力すると、割引金額が表示されます。
![便利なユーザ定義関数4](gazo2013/macro/2013_macro_44_04.png)
![便利なユーザ定義関数4](gazo2013/macro/2013_macro_44_04.png)
今日の講義は以上です。お疲れ様でした。