Как я могу вычислить формулу в Excel VBA и поместить ее значение в переменную? Например, я хочу установить х равным COUNTA (Sheet1! A: A) - PullRequest
0 голосов
/ 24 марта 2019

Как вычислить формулу в Excel VBA и поместить ее значение в переменную?
Например, я хочу установить x равным COUNTA (Sheet1! A: A)

Когда я пишу x=WorksheetFunction.COUNTA(Sheet1!A:A) Я получаю сообщение об ошибке

"Ожидается: разделитель списка или)"

Ответы [ 2 ]

1 голос
/ 24 марта 2019

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

'VBA style using worksheet codename
x = WorksheetFunction.COUNTA(Sheet1.Range("A:A"))

'VBA style using worksheet name
 x = WorksheetFunction.COUNTA(Worksheets("Sheet1").Range("A:A"))
0 голосов
/ 24 марта 2019

Для функции требуется Range, поэтому:

Sub kount()
    Dim r As Range, x As Long

    Set r = Sheets("Sheet1").Range("A:A")

    With Application.WorksheetFunction
        x = .CountA(r)
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...