用VBA写一段代码

有语文成绩和数学成绩,60分为及格,如果只有语文及格就显示语文及格,只有数学及格就显示数学及格,都及格了就显示全部及格。

参考VBA代码:

Option Explicit

Private Function IsPass(ByVal InputScore As Single, _
                        Optional ByVal MinScore As Single = 60) As Boolean
    
    IsPass = (InputScore >= MinScore)
End Function

Sub ScoreDemo()
    Dim strCourse(1 To 2) As String
    Dim blnIsPass(1 To 2) As Boolean
    Dim strScore As String
    Dim lngK As Long
    
    strCourse(1) = "语文"
    strCourse(2) = "数学"
    
    On Error Resume Next
    
    For lngK = 1 To 2
        strScore = InputBox("请输入" & strCourse(lngK) & "成绩", vbNullString)
        
        If StrPtr(strScore) Then
            blnIsPass(lngK) = IsPass(CSng(strScore))
        End If
    Next
    
    If blnIsPass(1) And blnIsPass(2) Then
        MsgBox "全部及格", , vbNullString
    Else
        For lngK = 1 To 2
            If blnIsPass(lngK) Then
                MsgBox strCourse(lngK) & "及格", , vbNullString
            End If
        Next
    End If
End Sub

运行截图:

    数学及格

    语文及格

    全部及格

追问

看不懂啊

我就要vba的

温馨提示:答案为网友推荐,仅供参考
相似回答