所以我目前正在制作Excel工作表,我必须计算置信区间。长话短说,我认为我能自动完成这一任务的唯一方法就是编写vba代码。第一步是计算工作表中多列的单元格的平均值。我做了什么:
Dim temp As Double
temp = 0
Dim it_row As Long
for it_row = 1 to 100
if IsBlank(Sheet.Cells(it_row,it_col)) then
temp = temp + 0
else
temp = temp + Sheet.Cells(it_row,it_col).Value
end if
next it_row
Dim Average As Double
Average = temp/100
'writing average in another cell
此代码不起作用,因为编译器返回Type missmatch,错误代码13 在行
temp = temp + Sheet.Cells(it_row,it_col).Value
我试图做CDouble(Sheet.Cells(it_row,it_col).Value)
,但这不起作用。
任何帮助都表示赞赏,因为我非常绝望,因为谷歌搜索并没有真正帮助我。
我应该提到我必须使用vba和这段代码,因为这是一个更大的自动化过程的一部分,我的主管说我必须在下一步使用vba进行自动化。
答案 0 :(得分:0)
Average和Sum Excel函数忽略text,boolean和empty值:
Average = Application.Average(Sheet.Cells(1, it_col).Resize(100))
答案 1 :(得分:-2)
检查
Sheet.Cells(it_row,it_col).Value
...与
if isnumeric(Sheet.Cells(it_row,it_col).Value)
...在将其添加到double类型值之前。如果该检查失败,那么您可以选择跳过它或将其视为某事。其他。 我会添加这个作为评论,但我没有足够的代表。添加评论。