У меня проблема, когда формулы не обновляются (у меня есть ручной расчет). В частности, это формулы с некоторыми сложными зависимостями.Excel - зависимость функции, вызывающая отсутствие вычислений
Cell1: "=Cell2"
Cell2: "IFERROR(FindData(X1, X2))"
FindData
функция VBA Я написал, что использует Index(Match(X1),Match(X2))
на заданном диапазоне (RangeXYZ).
Этот диапазон имеет ряд формул, которые подключаются к внешней службе данных (а не к переходу данных Excel, а только к другой пользовательской формуле vba).
Когда я вычисляю Cell1, Excel не вычисляет ни одну из нижеперечисленных вещей. Мне нужно, чтобы он принудительно вычислил RangeXYZ, а затем пересчитал Cell2, затем Cell1.
Благодаря
EDIT: У меня уже есть, в листе Cell1 содержится на:
Private Sub Worksheet_Calculate()
Application.calculatefull
End Sub
, но я считаю, это заканчивается в бесконечном цикле высчитывает. Я также попытался указать листы листов («Лист1»). Рассчитайте, но это не работает.
A Ctrl-Alt-F9, который действительно работает, является излишним и занимает слишком много времени.
Спасибо за правки R3uK! – keynesiancross
Возможно, попробуйте поставить 'Application.Volatile = True' как первую строку' FindData'? –
@VincentG: Ты избил меня! ;) – R3uK