Страницы: 1
RSS
Не распознается переменная в цикле
 
Добрый день!

Прошу помочь с Excel VBA. У меня excel 2010.

На листе "Лист1" в ячейке R7C53 записана формула массива:
{=НАИМЕНЬШИЙ(ЕСЛИ(ДВССЫЛ($AZ$7 )>=$AX$7;ДВССЫЛ($AZ$7));1)}
Она вычисляет минимальное значение из диапазона записанного в R7C52 превышающее расчетное значение в ячейке R7C50.

Алгоритм действий:
1. Вычисляем сечение клапана (Высота*ширину). Записываем в ячейку R7C50;
2. В диапазоне $AW$6:$AW$36 (в макросе записано в стиле R1C1) записаны максимальные площади клапанов.
3. Допустим R7C50=0,9, тогда из диапазона $AW$6:$AW$36 должно быть выбрано значение минимально превышающее - это 1.
4. Это значение сцепляется с другими выбранными опциями выбранными в ячейках R7C54, R7C55, R7C56 и производится поиск функцией ВПР (в ячейке R7C58) по диапазону $AS$6:$AS$36.
4. Иногда функция ВПР не находит искомое значение потому что в диапазоне $AS$6:$AS$36 его нет из-за выбранных доп опций. И тогда минимально превышающее значение должно быть найдено 2-е по счету (вместо 1 должно быть подставлено 2). Если ошибка ВПР (в ячейке R7C58), то 3-е по счету и т.д. Такую ситуацию можно получить выбрав соответствующие опции и в ячейке R7C57 будет так "1 2-х позиционныйнетда, 2 шт" (где "1" должно быть изменено см.п.4)

Я пытался решить проблему с помощью цикла в Excel VBA с переменной i в место 1 (это первое минимальное значение которое будет найдено) в формуле:
{=НАИМЕНЬШИЙ(ЕСЛИ(ДВССЫЛ($AZ$7 )>=$AX$7;ДВССЫЛ($AZ$7));1)}
Но у меня ничего не выходит ...

Помогите пожалуйста.

Ссылка на файл:
https://dropmefiles.com/OWdcT
 
Жан Коштоян,
Не могли бы Вы сделать небольшой файл-пример и приложить его сюда с Вашим примером кода?
 
Так он приложен в архиве.
В Архиве потому что файл весит 590 КБ
 
Всем спасибо, извините за беспокойство!
Я отвлекся, выспался и нашел другой подход к решению задачи (с помощью обычных формул).
Если надо могу скинуть решение.
Страницы: 1
Наверх