Вызов диапазона (как переменной) в другом рабочем листе - PullRequest
0 голосов
/ 26 мая 2019

Итак, я установил Range как переменную

Set Range_Count = Range("A2", Range("A2").End(xlDown))

И теперь я пытаюсь вызвать его в функции WorksheetFunction с использованием VBA без необходимости выбора рабочего листа

'This is what I don't want to do anymore
Sheets(1).Select
Count_Product = Application.WorksheetFunction.CountIf(Range_Count, "<>")

'This is what I'm wondering if it's possible to be done
Count_Product = Application.WokrsheetFunction.CountIf(Sheets(2).Range_Count, "<>")

Но, похоже, это не работает. Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

Итак, я просто решил это, положив листы перед Application вот так

Dim Range_Count As Range
Set Range_Count = Range("A2", Range("A2").End(xlDown))

Sheets(2).Application.WorksheetFunction.CountIf(Range_Count, "<>")

Проще, чем я думал

0 голосов
/ 26 мая 2019

Вот как это работает:

Set Range_Count = Sheets(2).Range("A2", Range("A2").End(xlDown)) 'full qualify the range with it's sheet
Count_Product = Application.WorksheetFunction.CountIf(Range_Count, "<>") 'then use the range
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...