我编写了以下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中成功调用。
知道错误是什么吗?
答案 0 :(得分:2)
打电话给你这样的功能
scores(0) = calcScores("rChk")
这样调用函数。 Subs由
调用subName argument