Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Не распознается переменная в цикле - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не распознается переменная в цикле (Макросы/Sub)
Не распознается переменная в цикле
Жан0093 Дата: Среда, 31.08.2022, 16:57 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Добрый день!

Прошу помочь с 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
 
Ответить
СообщениеДобрый день!

Прошу помочь с 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

Автор - Жан0093
Дата добавления - 31.08.2022 в 16:57
NikitaDvorets Дата: Суббота, 03.09.2022, 12:39 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 365
Репутация: 65 ±
Замечаний: 0% ±

Excel 2019
Жан0093, добрый день.
Изменена формула
Цитата
{=НАИМЕНЬШИЙ(ЕСЛИ(ДВССЫЛ($AZ$7 )>=$AX$7;ДВССЫЛ($AZ$7));1)}
в ячейке BA7 на листе, а также алгоритм расчета в макросе (кнопка "find_value") приложенного файла.
К сообщению приложен файл: SAD_v3_5____03-.xlsb(484.0 Kb)
 
Ответить
СообщениеЖан0093, добрый день.
Изменена формула
Цитата
{=НАИМЕНЬШИЙ(ЕСЛИ(ДВССЫЛ($AZ$7 )>=$AX$7;ДВССЫЛ($AZ$7));1)}
в ячейке BA7 на листе, а также алгоритм расчета в макросе (кнопка "find_value") приложенного файла.

Автор - NikitaDvorets
Дата добавления - 03.09.2022 в 12:39
Жан0093 Дата: Понедельник, 05.09.2022, 16:51 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

NikitaDvorets,
Никита, спасибо вам большое за работу.

Я протестировал ваш файл и понял, что он не справляется с поставленной задачей.
Гляньте скриншот:

https://disk.yandex.ru/i/-Cu5wFZpyCdj3g

За то время, которое прошло я поменял подход к задаче и справился с ней обычными формулами.

Ссылка на файл:
https://dropmefiles.com/ogqqx

P.S. Пожалуйста не баньте меня. Админ, подскажи как мне быть, если мой файл больше 500 кБ?
 
Ответить
СообщениеNikitaDvorets,
Никита, спасибо вам большое за работу.

Я протестировал ваш файл и понял, что он не справляется с поставленной задачей.
Гляньте скриншот:

https://disk.yandex.ru/i/-Cu5wFZpyCdj3g

За то время, которое прошло я поменял подход к задаче и справился с ней обычными формулами.

Ссылка на файл:
https://dropmefiles.com/ogqqx

P.S. Пожалуйста не баньте меня. Админ, подскажи как мне быть, если мой файл больше 500 кБ?

Автор - Жан0093
Дата добавления - 05.09.2022 в 16:51
Serge_007 Дата: Понедельник, 05.09.2022, 17:07 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 15428
Репутация: 2539 ±
Замечаний: ±

Excel 2016
как мне быть, если мой файл больше 500 кБ
Читайте правила форума, в них есть ответы на все вопросы, в том числе и на этот


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
как мне быть, если мой файл больше 500 кБ
Читайте правила форума, в них есть ответы на все вопросы, в том числе и на этот

Автор - Serge_007
Дата добавления - 05.09.2022 в 17:07
RAN Дата: Понедельник, 05.09.2022, 17:20 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5630
Репутация: 1143 ±
Замечаний: 0% ±

2010
Читайте правила форума

Машинку для закатывания губы подарить? :D


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Читайте правила форума

Машинку для закатывания губы подарить? :D

Автор - RAN
Дата добавления - 05.09.2022 в 17:20
Serge_007 Дата: Понедельник, 05.09.2022, 17:24 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 15428
Репутация: 2539 ±
Замечаний: ±

Excel 2016
У меня их уже коллекция :(


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеУ меня их уже коллекция :(

Автор - Serge_007
Дата добавления - 05.09.2022 в 17:24
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не распознается переменная в цикле (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!