在excel中使用vba计算某些单元格的数量

时间:2013-12-28 19:53:42

标签: excel excel-vba vba

我已经建立了一个测验并使用一些检查显示得分,输出单元格如果ans正确则为“1”,如果错误则为“0”。

计算分数我使用函数

=COUNTIF(S7:S158,1)

问题是,一旦用户开始编写ans,分数就会更新。

我希望有一个Macro SUBMIT(使用表单控件),点击后会给出分数。

我应该在Sub SUBMIT()中写什么才能执行上述功能

3 个答案:

答案 0 :(得分:1)

你可以写公式:

=IF(COUNTA(S7:S158)=x;COUNTIF(S7:S158,1);"")

其中 x 是一些问题(例如100)。因此,函数 COUNTA 计算范围内非空单元格的数量,如果用户在所有问题上进行了分类,则条件COUNTA(S7:S158)=x成为真,{{1计算,否则显示空字符串

答案 1 :(得分:0)

您可以在Workbook_Open

中设置以下代码
Sheet1.EnableCalculation = False

Sub Submit()

Sheet1.EnableCalculation = True
Sheet1.Calculate

有关详情,请参阅this

答案 2 :(得分:0)

我是一名开发人员,只有当所有选项都用尽时我才会使用宏。这主要是为了那些可能希望将其用于其他目的的人们的利益。但这只是我的偏好。

您可以拥有一个标签为显示分数的单元格,并接受是/否,并在IF周围添加=COUNTIF(S7:S158,1)。< / p>