2017-01-11 1 views
1

Так что если я объявил переменную и назову ее «Оценить1» в VBA для листа, на котором работает. Как я могу использовать его в формуле внутри ячейки в таблице: Пример:Могу ли я использовать объявленную переменную в VBA внутри ячейки внутри электронной таблицы?

(ячейка А2) = A1 * rate1

+0

AFAIK вы не можете сделать что. Что вы можете сделать, хотя и находится в вашей формуле, используйте где-то пустую ячейку и назовите эту ячейку «Rate1» с помощью диспетчера имен диапазонов. Или просто используйте свой VBA для создания именованного диапазона под названием «Rate1», который имеет это значение. – BruceWayne

+0

Нет, если это строго переменная VBA. Если вы создадите его как определенное имя, вы можете использовать его в ячейке и в формуле. (Вместо того, чтобы назначать ячейку или диапазон определенному имени, она была бы фактически постоянной.) – PeterT

+0

Мне кажется, извините, я не видел этого ответа. Спасибо за ваш ответ. –

ответ

0

Единственное, что вы можете получить доступ из листа являются общественные функции в модулях. Если необходимо выставить внутренние значения в таблице, как это, один вариант, чтобы сделать простую функцию обертку:

'In a Module 
Private Const Rate1 As Double = 1.234 

Public Function ModuleGlobal(varName As String) As Variant 
    Select Case varName 
     Case "Rate1" 
      ModuleGlobal = Rate1 
     'etc. 
    End Select 
End Function 

Затем вы можете использовать его как это:

=A1 * ModuleGlobal("Rate1") 
+0

Спасибо за ваш ответ –

Смежные вопросы