如果单元格在excel中为N / A,如何用VBA中上下两个单元格的平均值替换该单元格?我想在整个电子表格中做到这一点。
有两种情况:
B6:H6-我想使用B5:H5和B7:H7对这些单元进行平均 (例如,B6是B5和B7的平均值,C6是C5和C7的平均值,等等)
B10:H10和B11:H11-我想使用B9:H9和B12:H12对这些单元进行平均 (例如,此处的逻辑相同,B10是B9和B12的平均值) (我会 不 想使用B11:H11计算我的B10:H10平均值)
*请记住,在实际数据中,有多行N / A(例如B10:H40都可以为N / A)
非常感谢您为您提供的帮助!
答案 0 :(得分:0)
尝试
with worksheets("sheet1")
on error resume next
set rng = .range("B6:H6").specialcells(xlcelltypeformulas, xlerrors)
if not rng is nothing then
rng.formular1c1 = "=average(r5c, r7c)"
end if
set rng = .range("B10:H11").specialcells(xlcelltypeformulas, xlerrors)
if not rng is nothing then
rng.formular1c1 = "=average(r9c, r12c)"
end if
end with
如果这些范围实际上包含常量而不包含公式,则将xlcelltype常数更改为xlcelltypeformulas。