|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.03.2020, 14:47 | #1 |
Новичок
Джуниор
Регистрация: 19.03.2020
Сообщений: 3
|
Макрос при изменении ячеек. Ячейка уходит в отрицательное значение
Необходимо чтобы как только в ячейке B2 будет 2 или больше, в ячейке B3 3 или больше , то в ячейке A1 увеличивалось значение на +1, а в B2 B3 уменьшалось на 2 и 3.
Проблема в том что ячейка B3 уходит в минус. К примеру если B2 50, а B3 4, то в B3 будет -71, а должно останавливаться при значении B3 1. Код в листе Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B2:B3")) Is Nothing Then If [b2] >= 2 And [b3] >= 3 Then [a1] = [a1] + 1 [b2] = [b2] - 2 [b3] = [b3] - 3 End If End If End Sub Последний раз редактировалось AlexPuaro; 20.03.2020 в 00:48. |
19.03.2020, 20:40 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Если B3 4, и по коду [b3]=[b3]-3, то с какого в минус?
Тем более что проверка выше есть... Лукавите
webmoney: E265281470651 Z422237915069 R418926282008
|
20.03.2020, 00:40 | #3 |
Новичок
Джуниор
Регистрация: 19.03.2020
Сообщений: 3
|
Hugo121, поэтому и спрашиваю, что вроде бы условия прописаны.
Можете по быстрому вставить в пустой файл и написать в ячейках B2 B3 по 4. и сразу B3 уходит в минус. Получается что для ячейки B2 выполняется условие, и он останавливается когда [B2]<2. А ячейка B3 постоянно вычитает 3, пока [B2]>= 2 и свое условие [b3] >= 3 как-будто не замечает Последний раз редактировалось AlexPuaro; 20.03.2020 в 00:45. |
20.03.2020, 07:30 | #4 |
Форумчанин
Регистрация: 10.05.2019
Сообщений: 164
|
AlexPuaro,
не знаю что вы там считаете и чего хотите достич, надо учитывать что ваш макрос внашивает изменения в ячейки, которых смена вызивает выполнение макроса и таким образом запускается цикл который сложно взять под контроль. Если это не был замысел, попробуйте так: Код:
|
20.03.2020, 10:30 | #5 |
Новичок
Джуниор
Регистрация: 19.03.2020
Сообщений: 3
|
Elixi, по итогу это нужно для подсчета изготовленных изделий.
Ещё такой вопрос, если учитывать изменение нужно ячеек не стоящих рядом, то как это можно записать формулой? Или можно просто Range(“A1:S100”) написать и на работу эту не повлияет? Последний раз редактировалось AlexPuaro; 20.03.2020 в 15:03. |
22.03.2020, 11:50 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
сделать можно все (если это не противоречит логике и понимать что именно нужно сделать)
обьясните как это должно работать - может кто-то поможет с реализацией не можете обьяснить - занимайтесь реализацией свой идеи сами. все просто, понимаете?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заполнение пустых ячеек по условию (копирование???) при помощи макроса, Макрос для копирования диапазона ячеек на текущем листе | maxscorpio | Microsoft Office Excel | 0 | 06.02.2017 09:43 |
Защита содержимого ячеек от изменении | roborrr | Microsoft Office Excel | 5 | 25.04.2011 13:11 |
Копирование данных из ячеек при изменении параметров и переход на следующую строчку. | AMRAAM | Microsoft Office Excel | 6 | 23.04.2011 21:57 |
макрос - подсчитать для каждой строки кол-во ячеек с «+», кол-во ячеек с «-» | Vadim_abs | Microsoft Office Excel | 36 | 14.07.2009 12:08 |
Как запустить макрос при изменении другой книги Excel? | Град | Microsoft Office Excel | 12 | 10.06.2008 10:01 |