【发布时间】:2015-03-03 07:49:24
【问题描述】:
我有一个每周评分电子表格,在 b、e、h、k 和 n 列中有 5 个不同的类别,我每周在其中创建原始表格的新副本,并为该周输入“是”或“否”。我想在汇总表上编译所有这些成绩,以便表 1 计算每个相应列中表“sheet2”到“last”中“y”的数量。然后我可以除以该范围内的工作表数量,以获得在每列 b、e 等中输入的 y 的百分比。我对创建函数和使用 vba 非常陌生,所以我真的很挣扎。
最棘手的部分是我希望函数能够接受以下参数/参数:从哪张纸开始计数,从哪张纸停止计数,要计数的内容(在本例中为 y,但可以更改我的下一个工作簿,或者如果我添加一个新类别),要从哪个单元格开始计数,因为我想在每张纸上计算一个单元格,以便 b7 是工作表范围内仅 b7 的汇编。
这是我微弱的尝试:
Function mycountif(start As Variant, last As Variant, Cell As Variant, criteria As Variant) 'define name and parameters
Dim count As Integer
count = 0
For Each Worksheet In Worksheet.range(start, last)
count = count + Application.WorksheetFunction.CountIf(range(Cell), criteria)
Next Worksheet
mycountif = count
End Function
我是社区的新手,如果还有什么需要澄清的,请告诉我。
非常感谢您提供的任何帮助。
【问题讨论】:
-
你能贴一张示例表的截图吗?