【发布时间】:2015-01-18 20:49:07
【问题描述】:
我正在处理可以包含数字和文本(或空单元格)的小范围(只有一列)。 worksheetfunction.average 的描述说“参数可以是数字或名称、数组或包含数字的引用。”和“如果数组或引用参数包含文本、逻辑值或空单元格,则这些值将被忽略。”它还说“不计算空单元格,但计算零值”。
然而,
With Sh
SlpStdBlkCorr_Sh.Range("T2") = WorksheetFunction.Average(.Range(RawPb208Range))
End with
引发“无法获取工作表函数类的平均属性”错误。
这行代码被重复使用,所以所有变量都设置得很好,只有当范围有空单元格或有文本的单元格时才会出现这个错误。
.average 不应该忽略这些包含非数字内容的单元格吗?
我已经尝试了Paul Aford 的解决方案,但问题是当我在计算一些东西时,我可以创建一些怪物,只是将变量等于 0 (SlpStdBlkCorr_Sh.Range("T2")=0) 或 1 (SlpStdBlkCorr_Sh.Range("T2")=1)。
想法?
【问题讨论】:
-
我刚刚测试的一行代码“Application.WorksheetFunction.Average (ActiveSheet.Range("A1:A6"))”在包含数字、空格和文本的范围内工作得非常好.如果您真的需要帮助,您应该向我们提供更多信息。
-
范围内没有数值时会出现此问题
-
@GeneSkuratovsky,我尝试在我的工作表中使用您的代码行,同时处于中断模式,结果与我之前描述的相同。我尝试结束代码,然后再次运行您的代码,但出现了相同的错误消息。也许与单元格格式有关?
-
@Felipe 我在下面阅读了您对 csv 文件的评论。不,这不会导致问题(我在一分钟前测试过)。如果你有带数字的单元格,无论单元格格式如何,你都很好。无论如何,你在那些牢房里有什么?带有数字的单元格内容示例(如在编辑栏中的样子)?
-
@Felipe 您没有在公式栏中显示单元格的视图,但从您在此处链接的捕获图像中我可以清楚地看到一切正常。如果没有详细了解“全局”,我认为我不能做更多的事情:至少,所有代码都包含在这个序列中,但也许更多。唉,有效的故障排除是一种“通过逆境”发展的技能。祝你好运。