【问题标题】:VBA function to insert formula into cell with another vba function embeddedVBA函数将公式插入到单元格中,并嵌入了另一个vba函数
【发布时间】:2019-03-07 21:16:20
【问题描述】:

我有一个单元格,我想放置一个 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

【问题讨论】:

  • Excel 对 siteRange VBA 变量一无所知,这就是原因。

标签: excel vba


【解决方案1】:

siteRange 是一个范围对象,但您将其视为已定义的名称。将范围对象的地址连接到公式中。

ActiveCell.Formula = "=If(Average(" & siteRange.address & ")>=2, 1, 0)"

【讨论】:

  • 谢谢!这能够引导我朝着正确的方向前进!我有一个问题,希望你能帮助我。如果我从不同的工作表中选择一个范围,它将复制原始工作表的范围。例如,如果我在工作表 1 中并从工作表 2 中选择 A2,它将显示 average($A$2) 而不是 average('Sheet2!'A$2$)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多