Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.10.2016
Сообщений: 91
1

Макрос, выполняющий условия: если-тогда-иначе

10.03.2018, 14:59. Показов 1415. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Подскажите, как написать макрос или функцию, которые будут просматривать диапозон Д9:Д500, находить разрывы в числовой последовательности и вставлять правильные строки. Столбец Е помогает увидеть разрывы (слово NO на красном фоне).

Начальные данные вводятся в Столбец B (начиная с B9). Сверку начинаем с Д9.
Проверяем начинается ли последовательность с 1:
Если Д9-Д8=1, то все хорошо просматриваем Д10. Если Д9 не равно 1, то 2 условия:
- если Д9-Д8=2, то выполнить макрос «Num1_Otsut»
- если Д9-Д8>2, то выполнить макрос «Num1_X_Otsut»
Данные макросы выполняются только для девятой строки (Д9, если там не 1).

Дальше последовательно просматриваем столбец Д, проводим вычисление Д10-Д9=1 – переходим к Д11.
Разрыв получается в ячейке Д14.
Проводим сравнение и выполняем макросы:
Если Д(текущее)-Д(предыдущее)=2, то выполняем макрос «Макрос1_1»
Если Д(текущее)-Д(предыдущее)>2, то выполняем макрос «Макрос1_2»
Если Д(текущее) = «ошибка» и B(текущее) <> "", то выполняем макрос «Nomer_X»
Если Д(текущее) = «ошибка» и B(текущее) = "", то завершить макрос

Для Д14:
Д14-Д13=2 – нужно выполнить макрос «Макрос1_1» (должен выполниться для Д14, Д16, Д28….)

Для Д17:
Д17-Д16>2 – нужно выполнить макрос «Макрос1_2» (должен выполниться для Д17, Д26, Д27….)

Для строк 21 и 22:
В строках 21 и 22 содержаться 019_1, 019_2 – в ячейках Д выдается ошибка, в ячейках B21 и B22 есть данные – выполняем макрос «Nomer_X»

И есть еще одна проблема:
В ячейках F-L вставлены выпадающие списки. Я сделал только в 3 строках, а мне необходимо сделать в 500 строчках. Можно ли как-то сделать все списки в 500 строках быстро и просто, не копируя и привязывая каждый выпадающий список (элемент ActivX) к конкретной ячейке?
Я пробовал сделать: главная -> стили -> форматировать как таблицу (Лист Data, диапазон ячеек D3:N40) но там открывающийся список имеет небольшую длину - не видно полное название и не понятно, какую строку нужно выбрать. Можно ли как-то изменить длину выпадающего списка, чтобы видеть весь текст?

Прикрепил рабочий файл со всеми данными (макросы: Макрос1_1, Макрос1_2, Nomer_X, Num1_Otsut, Num1_X_Otsut написаны, работают корректно).
Заранее спасибо.
Вложения
Тип файла: zip 4N_1820_1931.zip (76.5 Кб, 3 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2018, 14:59
Ответы с готовыми решениями:

если 2ой элемент вектора > 10го эл.матрицы тогда В(I,I)= нечетн.элементы иначе А(нечет)=четн.
нужно составить программу и тест. условие: А(8), В(5,5) если 2ой элемент вектора &gt; 10го...

Оператор "если тогда иначе если" (Управляемое приложение)
Добрый день! Имеется документ, в табличной части имеющий следующие реквизиты: ...

Если в заданый текст входит каждая из букв слова key, тогда напечатать yes, иначе-no
Если в заданый текст входит каждая из букв слова key,тогда напечатать yes,иначе-no

"Если Form8 открыта, тогда закрыть Form6, иначе открыть Form1"
Если Form8 открыта, тогда закрыть form6 иначе открыть form1. как написать эту команду в Delphi ...

0
10.03.2018, 14:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2018, 14:59
Помогаю со студенческими работами здесь

Если сумма всех цифр 3 числа равна суме чисел 1 и 2го, тогда можно переставляем числа, иначе 0
Помогите с решение. Буду благодарен

Упростить условия если а > 1000 и б > 2000 или а <=1000 тогда
Всем привет. Есть задачка с теста, говорят очень сложная, и говорят я ее не решил. ответ не...

Если значение переменной W не равно 0 и при этом котангенс от W меньше 0.5, тогда поменять знак у W, а если значение W равно 0, тогда присвоить W знач
Если значение переменной W не равно 0 и при этом котангенс от W меньше 0.5, тогда поменять знак у...

Условия. Если числовое поле пустое, то вставить туда ноль, иначе вставить значение этого поля
Доброго времени суток! Пытаюсь написать запрос, который в поле Телефон вставляет нули если там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru