我有一个单元格,我想放置一个If函数。如果选定单元格范围的平均值> = 2,则if函数将显示1,否则为0。我想制作一个vba,将要求您选择范围组,然后将公式放到该单元格上,没有价值。这样,如果所选单元格组的平均值发生更改,则更新后的单元格也会更改。我试过这样做,但最终出现#value错误。感谢您的帮助
Sub update()
Dim siteRange As Range
ActiveCell.Select
If MsgBox("Would you like to update?", vbYesNo, "Update") = vbYes Then
Set siteRange = Application.InputBox("Select a range with the " & _
"appropraite sites.", "Sites", Type:=8)
ActiveCell.Value = "=If(Average(siteRange)>=2,1,0)"
Else
End If
End Sub
答案 0 :(得分:2)
siteRange
是一个范围对象,但是您将其视为已定义的名称。将范围对象的地址连接到公式中。
ActiveCell.Formula = "=If(Average(" & siteRange.address & ")>=2, 1, 0)"