1

私は学生のための成績と習熟度を持っています。

たとえば、5年生の場合、習熟度には4つのレベルがあります。4つのレベルの習熟度はアルファベットの文字に対応しているため、5年生がBの文字を割り当てた場合、AからRの文字のレベルは「BelowProficient」になるため、彼の習熟度レベルは「BelowProficient」になります。 「私はこれをケースでどのように行うのか疑問に思っていました、

私のコードの大まかなアイデアは次のとおりです。

Function ConvertScores(Grade, Letter_Score)
Select Case ConvertScore(5, like "[A-R]")
    Case ConvertScore(5, like" 
        ConvertScores = "F & P Remedial"
    Case 2
        ConvertScores = "F & P Below Proficient"
    Case 3
        ConvertScores = "F & P Proficient"
    Case 4
        ConvertScores = "F & P Advanced"



End Function

そうですね、VBAにリストオブジェクトがあればいいのですが、VBAのリストオブジェクトは何ですか?

編集:私は複数のIfステートメントでそれを行うことができましたが、ケースがより良い方法だったと私には思えます。

これが、複数のif-thenではなくcaseで使用したいコードです。

Function ConvertScoresMOY(Grade, Letter_Score) As String
If Grade = "5" And Letter_Score Like "[A-R]" Then
    ConvertScoresMOY = "F & P Remedial"
ElseIf Grade = "5" And Letter_Score Like "[S-T]" Then
    ConvertScoresMOY = "F & P Below Proficient"
ElseIf Grade = "5" And Letter_Score Like "[U-V]" Then
    ConvertScoresMOY = "F & P Proficient"
ElseIf Grade = "5" And Letter_Score Like "[W-Z]" Then
    ConvertScoresMOY = "F & P Advanced"
Else:
End If
End Function
4

2 に答える 2

2

すべての条件を1つの単純な条件に挿入することから始めましょう。

If Grade = "5" Then

End If

次に、SWITCHCASEを使用できます。

 Select Case Letter_Score
       Case Letter_Score Like "[A-R]"
             ConvertScoresMOY = "F & P Remedial"
       Case val Letter_Score Like "[S-T]"
             ConvertScoresMOY = "F & P Below Proficient"
 End Select
于 2013-01-20T20:46:54.093 に答える
1

別のシートに辞書を作成し、VLOOKUP()関数を使用して最初の列の値を検索し、2番目の列の値を取得することができます。

于 2013-01-21T21:49:14.143 に答える