Я написал этот простой UDF для расчета в электронных таблицах Excel. Код работает нормально, но только один раз. Однако, если я изменяю значения в таблице (SharePriceGrowthTable), результаты в ячейках не обновляются. Даже когда я нажимаю F9 для пересчета листа, значения в ячейках, где используется функция, не обновляются. Я подтвердил, что для параметра «Расчет» установлено значение «Автоматически».Ячейки, использующие UDF в Excel, не перерасчитываются
Любые идеи о том, что происходит или что мне нужно делать другим?
'Compute Stock Growth Score
Function StockGrowthScore(GrowthPercent As Double) As Double
Dim ScoreTable As Range
Set ScoreTable = Range("SharePriceGrowthTable")
If GrowthPercent >= 0 Then
StockGrowthScore = WorksheetFunction.VLookup(GrowthPercent, ScoreTable, 2)
Else
StockGrowthScore = -WorksheetFunction.VLookup(-GrowthPercent, ScoreTable, 2)
End If
StockGrowthScore = Application.Round(StockGrowthScore, 3)
End Function
Является ли функция вызываемой изнутри диапазона «SharePriceGrowthTable»? – Comintern
Нет, диапазон находится в листе с именем «Инструменты», и функция вызывается из нескольких других листов в одной книге. –