编译错误"期望:声明结束"

时间:2015-07-27 18:15:59

标签: excel-vba vba excel

我编写了以下calcScores函数:

Function calcScores(category As String) As Integer
    Dim count As Integer
    count = 0
    For Each Ctl In UserForm1.Controls
        If Ctl.Tag = category And TypeName(Ctl) = "CheckBox" Then
            Dim box As MSForms.CheckBox
            Set box = Ctl
            If box.Value = True Then
                count = count + 1
            End If
        End If
    Next
    calcScores = count
End Function

此函数采用名为" category"的标记。作为字符串,然后检查具有该标记的所有复选框的表单,并计算检查的那些复选框。我知道它有效并且计算正确的数字,因为我稍微编辑了它以将它的值输出到表单上的标签而不是返回它。

当我尝试在另一个函数中调用它时:

Function sortScores()
    Dim scores(0 to 5) as Integer
    scores(0) = calcScores "rChk"
    **CODE CONTINUES**
End Function

我收到一条错误,上面写着"预期:声明结束"一旦我离开指定函数返回分数(0)的行。 calcScores在sortScores之前分配,并在使用相同语法之前在sub中成功调用。

知道错误是什么吗?

1 个答案:

答案 0 :(得分:2)

打电话给你这样的功能

scores(0) = calcScores("rChk")

这样调用函数。 Subs由

调用
subName argument