0 / 0 / 0
Регистрация: 15.10.2016
Сообщений: 91
|
|
1 | |
Макрос, выполняющий условия: если-тогда-иначе10.03.2018, 14:59. Показов 1415. Ответов 0
Метки нет (Все метки)
Добрый день.
Подскажите, как написать макрос или функцию, которые будут просматривать диапозон Д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 написаны, работают корректно). Заранее спасибо.
0
|
10.03.2018, 14:59 | |
Ответы с готовыми решениями:
0
если 2ой элемент вектора > 10го эл.матрицы тогда В(I,I)= нечетн.элементы иначе А(нечет)=четн. Оператор "если тогда иначе если" (Управляемое приложение) Если в заданый текст входит каждая из букв слова key, тогда напечатать yes, иначе-no "Если Form8 открыта, тогда закрыть Form6, иначе открыть Form1" |
10.03.2018, 14:59 | |
10.03.2018, 14:59 | |
Помогаю со студенческими работами здесь
1
Если сумма всех цифр 3 числа равна суме чисел 1 и 2го, тогда можно переставляем числа, иначе 0 Упростить условия если а > 1000 и б > 2000 или а <=1000 тогда Если значение переменной W не равно 0 и при этом котангенс от W меньше 0.5, тогда поменять знак у W, а если значение W равно 0, тогда присвоить W знач Условия. Если числовое поле пустое, то вставить туда ноль, иначе вставить значение этого поля Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |