Select Casesuステートメントで作るユーザ定義関数

評価付を簡単にするユーザ定義関数

普段何気なくしていることを、便利なユーザー定義関数にしてみます。
商品の売上コンテストや、学校でのテストの成績などで、評価をつけることがあります。
評価付簡単にするためにSelect Casesuステートメントを使ったユーザー定義関数を作ります。 また応用として、お買上金額ごとに値引率を設定するユーザー定義関数もIf~Then~Else ステートメントを使って作成しましょう。
(サンプルファイルは、こちらから 2013マクロ講座42回サンプルデータ

便利なユーザ定義関数 評価づけの関数

サンプルでは、以下の成績一覧にA~Eの5段階評価をつけます。
便利なユーザ定義関数
ユーザ定義関数をシートで入力すると以下のようになります。
=hyouka(B2)
便利なユーザ定義関数2
ユーザ定義関数を作るには、VBEエディターを起動し、Functionプロシージャの構文にそってコードを入力します。
ユーザー定義関数
今回の評価付けのユーザー定義関数では、 Select Casesuステートメントを利用します。
Select Case
評価付けのユーザー定義関数コードは、以下のようになります。 このコードを標準モジュールにペーストするか、記入するかすれば、使うことができます。コード自体は、簡単なのでいろいろと応用もできますね。
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
スポンサーリンク
スポンサーリンク

お買上金額ごとに値引率を設定するユーザー定義関数

応用例として、お買上金額ごとに値引率を設定するユーザー定義関数を考えましょう。
もし、~ならば、○○ という構文、If~Then~Else ステートメントを使います。
if_then_else
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

今日の講義は以上です。お疲れ様でした。
ユーザー定義関数 関連ページ

スポンサーリンク
スポンサーリンク