В настоящее время я работаю над калькулятором надежности, и как часть более широкого расчета требуется al oop, когда проверяется каждая строка / ряд компонентов, путем проверки значения надежности, указанного в столбце «Надежность конфигурации», найти любую строку / строку, предлагающую самую низкую надежность. Затем к этой строке добавляются дополнительные количества, пока ее надежность не превысит целевую надежность системы, которая устанавливается пользователем отдельно.
В другом столбце под названием «Конфигурация избыточности». У меня есть раскрывающийся список для Пользователь может указать, расположен ли конкретный компонент в конфигурации «Standby», «Active» или «Series». Мне нужен приведенный выше код для запуска, но для исключения любой строки / строки, в которой указано значение столбца «Configuration:» установлен на «Series».
Мне удалось зафиксировать это в формуле Excel ниже:
=MINIFS(Table_System[Reliability of Configuration],Table_System[Redundancy Configuration:],"<>Series")
Однако я не могу получить попытку выполнения кода VBA без ошибок. Моя лучшая попытка на данный момент:
'Add redundant units to any pieces of equipment with reliabilites lower than target
'Set Variables
DatRange = Worksheets(system).ListObjects("Table_" & system).ListColumns("Reliability of Configuration").DataBodyRange
DatRange2 = Worksheets(system).ListObjects("Table_" & system).ListColumns("Redundancy Configuration:").DataBodyRange
'minVal = Application.WorksheetFunction.Min(DatRange)
minVal = Application.WorksheetFunction.MinIfs(DatRange, DatRange2, "<>Series")
Do Until minVal > Target_Reliability
Закомментированный «minVal» будет правильно определять минимальное значение в столбце «Надежность конфигурации». Но я не могу заставить работать код MinIfs для идентификации правильное минимальное значение, без выбора серии.
Пожалуйста, помогите!