Ввести чужеродный объект в формулу? - PullRequest
0 голосов
/ 01 марта 2019

В формулах часто используются диапазоны, например,

=If(A1=2,"Yes","No")

В этом примере A1 вводится с помощью объекта Range, представляющего ячейку A1.Но скажем, у меня есть какой-то объект из какого-то класса.Как бы я ввел это в формулу?

На данный момент моя лучшая ставка (что довольно ужасно) - это использовать коллекцию и UDF:

Public FormulaVariables as Collection
Public Function getVar(key as string) as object
  set getVar = FormulaVariables(key)
end function
Public Sub addVar(key as string, obj as object)
  if FormulaVariables is nothing then set FormulaVariables = new Collection
  FormulaVariables.add obj,key
end sub

Так, чтобы я мог позвонить addVar("someCoolId",myObject) и затем используйте формулу как:

=If(checkSomething(getVar("someCoolId")),"Yes","No")
...