2016-12-06 11 views
-2

Я знаю, что можно получить значение формулы в excel, выбрав ячейку, нажав F2, а затем F9. Это также разрушает формулу. Мне нужно сделать это автоматически, в другую ячейку, чтобы я мог сохранить ценность. В настоящее время я использую =view|tagname! для получения информации из локальной системы. Поэтому каждый раз, когда рабочая книга вычисляется, значение изменяется, и мне нужно иметь возможность фиксировать прошлые значения.Функция для получения значения формулы в Excel

Я пробовал:

Function Absolute(ByVal X As Range) As Double 
    Absolute = X.Vlaue 
End Function 

Это дает мне значение ячейки, но она меняется каждый раз, когда лист рассчитывается.

также пытались что-то по этому маршруту:

Function Absolute(X as Double) 
    Absolute = Application.Calculate(X) 
End Function 
+1

Вам нужно будет использовать VBA в случае Worksheet_Calculate. Переполнение стека не является кодом для меня. Попытайтесь это сделать, и когда вы застряли, верните наш код сюда и сообщите нам, что он делает, это неправильно или по ошибке. –

+0

Excel уже имеет Абсолютную функцию ABS() –

+0

Я знаю, но он делает то же самое, при пересчете меняет значение. Я ценю помощь, я думаю, что вы были правы в отношении события workheet_Calculate, которое необходимо изменить, чтобы оно не происходило каждый раз. –

ответ

0

Как Скотт указывает, попробовать что-то, потом вернуться, если вам нужна помощь глажения его.

Подсказка: Забудьте все «абсолютный» вещь .. не знаю, что вы пытаетесь сделать там ..

функциональность вы хотите, называется «копия» ...

вы можете записать макрос ... сделать что-то (то есть скопировать) .. посмотреть на макрос, а затем настроить его, чтобы быть более «общим» (или конкретным), если это необходимо.

Дайте что попробовать, и посмотреть, что вы придумали ..;)

удачи

+0

Отредактируйте макрос, делая то, что я хотел найти, и нашел то, что я ищу, это ActiveCell.FormulaR1C1. –

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