VBA: диапазон переменной в формуле SUMIF - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь использовать переменную диапазона в функции SUMIF.Проблема, с которой я столкнулся с другими ответами, которые я встречал, заключается в том, что переменная передается в формулу как «N2»: «N132» и приводит к #NAME?ошибка.Я надеюсь достичь не только правильного прохождения диапазона, но и блокировки $ N $ 2: $ N $ 132.код выглядит следующим образом:

Заранее благодарим за помощь.

Dim sh1 As Worksheet
Dim x As range
Dim y As range



Set sh1 = ThisWorkbook.Sheets("Open Orders 180-365")
sh1.Activate

Set x = range("N2", range("N2").End(xlDown))


range("K:K").Find(What:="Open Order Detail 90-179 Days", MatchCase:=True).Select

Selection.Offset(1, 3).Select

Set y = range(Selection, Selection.End(xlDown))

range("D3").FormulaR1C1 = "=SUMIF(R3C13:R132C13,RC[-2]," & x.Address(False, False) & ")"


1 Ответ

1 голос
/ 25 сентября 2019

x.Address(False, False)

Возвращает адрес в стиле A1, и вы не можете смешивать стили A1 и R1C1:

range("D3").FormulaR1C1 = "=SUMIF(R3C13:R132C13,RC[-2]," & x.Address(False, False,xlR1C1) & ")"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...