Vba Excel对具有for循环类型不匹配错误的行求和
所以我现在正在做一个Excel表格,我必须计算置信区间。长话短说,我认为我能自动完成这项工作的唯一方法是编写vba代码。第一步是计算工作表中几列的一列单元格的平均值。我所做的:Vba Excel对具有for循环类型不匹配错误的行求和,vba,excel,confidence-interval,Vba,Excel,Confidence Interval,所以我现在正在做一个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
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
此代码不起作用,因为编译器返回类型missmatch,错误代码13
排队
temp=temp+Sheet.Cells(it行,it列)。值
我试着做一个CDouble(Sheet.Cells(it\u row,it\u col.Value)
,但没有成功
任何帮助都是感激的,因为我非常绝望,因为谷歌搜索并没有真正帮助我
我应该提到我必须使用vba和这段代码,因为这是一个更大的自动化过程的一部分,我的主管说我必须在下一步使用vba实现自动化。检查
Sheet.Cells(it_row,it_col).Value
…与
if isnumeric(Sheet.Cells(it_row,it_col).Value)
…然后将其添加到双精度类型值。如果该检查失败,那么您可以选择跳过它或将其视为其他内容。
我本想将其添加为注释,但我没有足够的代表添加注释。和Excel函数的总和忽略文本、布尔值和空值:
Average = Application.Average(Sheet.Cells(1, it_col).Resize(100))
然后
Sheet.Cells(it\u行,it\u列).Value
中有文本或错误。在尝试将单元格添加到temp
之前,您需要测试该单元格是否是一个数字。此外,我看不出您在何处声明并为it\u col
赋值。如果您的单元格具有返回“
的公式,则ISBLANK
将返回false。也许可以尝试使用Sheet.Cells(it\u行,it\u列)=“
来代替。您是否尝试过-->如果是数字(Sheet.Cells(it\u行,it\u列).Value),那么temp=temp+Sheet.Cells(it\u行,it\u列)。使用Excel公式应该更简单。甚至还有一个信心函数,这个评论已经发表了。请不要使用答案空间发表评论,这是一个很好的方式失去你已经拥有的代表。