Мне не совсем понятно что и как с "Предварительно надо включить итеративные вычисления и установить предельное число итераций =1." , так как моя формула чем-то похожа, полагаю что не хватает этого какого-то интервального вычисления. С макросами пока не работаю, поэтому, к сожалению, этот вариант решения не рассматриваю пока.
И каждый раз когда происходят какие-либо изменения происходит генерация случайных чисел. Нужно заметить, что генерация происходит даже после изменений которые ни как не связаны с этой ячейкой (формулой в ячейке), причем генерация происходит даже от простого переключения вкладок между таблицами.
Пытаюсь найти решение, но пока ничего не выходит )) Помогите пожалуйста.
З.Ы. В примере поставил отдельный выпадающий список (ячейка I3), так вот генерация происходит даже от того что я выбираю какието значение из него, хотя в формуле он ни как не участвует...
APavlik, здравствуйте! Обычно сначала идёт приветствие, а потом уже ссылки и прочее
Подытожим: как я вам уже сказал ранее, "функция на то и функция, чтобы пересчитываться", а отсюда следует, что вам нужно зафиксировать значение после его расчёта. Проще всего это сделать ручками, вставив результат значением
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
вопрос только в том, что бы это как то автоматизировать. это - или ограничить генерацию случайных чисел, или подстановка значений, но АВТОМАТИЧЕСКИ... возможно я по прежнему пока не понимаю в чем решение...
как я увидел в предложенном мне, нужно каждое место где работает функция СЛУЧМЕЖ переводить в формат значение поставив ПКМ.
у меня, как показано на скрине, таких мест и формул очень много. в примере показан только один параметр и для 1 из 10 циклов. учитывая, что этот файл таблиц и так "атомная станция из картона" ) сложности с ручной подстановкой значений очевидна, поэтому ищу решения... может быть нужно отказаться от СЛУЧМЕЖ и использовать другой метод генерации случайных значений? если такой есть подскажите, пожалуйста.
ЗЫ. просмотрев видео понимаю, что не один вариант с изменением формул в значения не будет удобен ))
APavlik: подстановка значений, но АВТОМАТИЧЕСКИ … другой метод генерации случайных значений
другой метод — это макрос. Макрос может использовать эту функцию внутри кода или рассчитывать другим образом, но главное, что результат он может вставлять значением.
Дальше нужно разобраться с вариантом запуска макроса: это может событие листа/книги, кнопка или универсальный макрос. Для первых двух нужно заранее определить, что проверять и что выводить в случае чего, а для универсального предполагается, что он запрашивает 2 аргумента и вставляет результат=СЛУЧМЕЖДУ(арг; арг2) в активную ячейку.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
APavlik, пример макроса по событию. Если что-то изменилось в голубых ячейках, то в активную ячейку (из них) проставится результат по подобию вашей функции
В модуле листа
Код
Option Explicit
'===========================================================================================
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCheck As Range, s#
Set rngCheck = Range("E8,H19,K6,L15")
If Intersect(Target, rngCheck) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
If Len(Range("H10")) = 0 Then GoTo fin
s = Range("H13").Value2 - Range("H15").Value2
If s > 0 Then s = WorksheetFunction.RandBetween(s / 2, s) Else s = WorksheetFunction.RandBetween(1, 110)
Target.Value = s
fin:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'===========================================================================================
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Пошел самым простым способом записи макроса через рекодер. Задача перевести некоторые результаты в значения путем копирования и в ставки значений. Но при запуске макроса выдает сообщение с ошибкой 1004 о том что ячейки должны быть одинакового размера, а в коде выделяет желтым всю четвертую строку: