Почему Excel не распознает имена переменных в моей функции SUMPRODUCT? - PullRequest
1 голос
/ 19 апреля 2020

Я новичок в VBA. Я продолжаю получать ошибку #NAME, когда пытаюсь запустить приведенный ниже код. Кажется, что Excel не распознает 2 аргумента в функции SUMPRODUCT (), так как они являются пользовательскими переменными, значения которых берутся из 2 разных таблиц. Есть идеи, что я делаю не так?

Public Sub myMacro()

Dim firstArray As Range

    Worksheets("Sheet1").Activate ' Activate the worksheet named "Sheet1"

    Set firstArray = Range("A2:C40")

Dim secondArray As Range

    Worksheets("Sheet2").Activate ' Activate the worksheet named "Sheet2"

    Set secondArray = Range("A2:D40") ' Select the desired range, assign it to secondArray

Dim emptyCells As Range

    Worksheets("Sheet3").Activate ' Activate the worksheet named "Sheet3"

    Set emptyCells = Range("A1:Z1")

    emptyCells.Formula = "=SUMPRODUCT(firstArray, secondArray)"  ' ---- PROPER SYNTAX, BUT GIVES ME A #NAME ERROR

End Sub

1 Ответ

1 голос
/ 19 апреля 2020

Вам нужно будет использовать конструкцию, подобную приведенной ниже.

emptyCells.Formula = "=SUMPRODUCT(" & "'" & firstArray.Parent.Name & "'!" & firstArray.Address & "," & "'" & secondArray.Parent.Name & "'!" & secondArray.Address & ")"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...