Можно ли каким то образом получить значение в переменную используя функции не записывая его в ячейку?
Пример:
В столбце D идут перечисления слов. Используя функцию счётесли посчитать сколько раз повторяется "привет".
Kol = "=СЧЁТЕСЛИ(D:D;"привет")"
Некоторые ситуации можно решить с помощью объекта 'WorksheetFunction'.
Sub Макрос()
Dim var
var = Application.WorksheetFunction.CountIf(Columns("D"), "привет")
End Sub
Варианты написания объекта 'WorksheetFunction':
var = WorksheetFunction.CountIf(Columns("D"), "привет")
var = Application.CountIf(Columns("D"), "привет")
Ещё есть такой способ. Может быть когда-нибудь будет вам полезен.
В этом способе название функции нужно писать на английском языке.
Sub Макрос()
Dim var
var = Application.Evaluate("COUNTIF(D:D,""привет"")")
End Sub
Варианты написания метода 'Evaluate':
var = Evaluate("COUNTIF(D:D,""привет"")")
Здесь со знаком 'равно' перед именем функции (может быть в каких-то случаях потребуется указать):
var = Evaluate("=COUNTIF(D:D,""привет"")")
Спасибо.