2016-05-05 15 views
0

このマクロをボタンに割り当てて実行すると、エラーは発生せず、何も起こりません。私はなぜ何も起こっていない取得します。セルC4を見てそこのスコアを使用して、スコアに基づいてレターグレードとセルD4とE4に「合格」または「失敗」を割り当てることになっています。シンプルセレクトケースVBAコードが実行されていない

Sub Grade() 
    Dim x As Range 
    Dim y As Range 
    Dim z As Range 
    Dim w As Integer 

    Set x = Worksheets("Grades").Range("C4") 
    Set y = Worksheets("Grades").Range("D4") 
    Set z = Worksheets("Grades").Range("E4") 
    w = x.Value 

    Select Case w 
    Case 0 - 50 
     y.Value = "F" 
     z.Value = "Fail" 
    Case 51 - 59 
     y.Value = "D" 
     z.Value = "Fail" 
    Case 60 - 65 
     y.Value = "D" 
     z.Value = "Pass" 
    Case 66 - 75 
     y.Value = "C" 
     z.Value = "Pass" 
    Case 76 - 90 
     y.Value = "B" 
     z.Value = "Pass" 
    Case 91 - 100 
     y.Value = "A" 
     z.Value = "Pass" 
    End Select 
End Sub 
+1

すべての番号範囲はこのようにする必要があります。ケース0〜50' –

+0

ステップ1:コードを実際に呼び出すことを確認するために、最初に 'call msgbox(" Hi ")'を入れます。 –

+0

ありがとう、それは今、完璧に動作します! –

答えて

4

あなたのすべての番号範囲を使用すると、Excelが数学をやろうとしている必要があり方法でこのCase 0 to 50

ようにする必要があります。

したがって、0-50=-50のためw-50に等しくなるように最初のケースを探しています。

51-59=-8のためと等しくなるようにwを探しています。

+0

私は可能なCVの質問の答えにdownvoteを得るが、質問は有効です(恐ろしいタイトルtho)。 CVの権限を持つ人は誰でもQのタイトルを編集できるはずです。選択事例を書く方法のエラーは、将来のユーザーにとって有効なポイントです。 – Chrismas007

+0

@ Chrismas007 CVとは何ですか?何度も私は答えに自分のコメントを移すように言われました。私はこれをコメントとして残すべきですか? –

+2

CVはクローズ投票です。あなたの答えを落とした人に話していました。 – Chrismas007

関連する問題