Функция VBA для вставки формулы в ячейку с другой встроенной функцией VBA - PullRequest
0 голосов
/ 08 марта 2019

У меня есть ячейка, в которую я хотел бы поместить функцию If. Функция if будет отображать 1, если среднее значение для выбранного диапазона ячеек> = 2, иначе 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

enter image description here

1 Ответ

2 голосов
/ 08 марта 2019

siteRange - объект диапазона, но вы рассматриваете его как определенное имя. Объединить адрес объекта диапазона в формулу.

ActiveCell.Formula = "=If(Average(" & siteRange.address & ")>=2, 1, 0)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...