Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2020, 14:47   #1
AlexPuaro
Новичок
Джуниор
 
Регистрация: 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.
AlexPuaro вне форума Ответить с цитированием
Старый 19.03.2020, 20:40   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Если B3 4, и по коду [b3]=[b3]-3, то с какого в минус?
Тем более что проверка выше есть... Лукавите
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 20.03.2020, 00:40   #3
AlexPuaro
Новичок
Джуниор
 
Регистрация: 19.03.2020
Сообщений: 3
По умолчанию

Hugo121, поэтому и спрашиваю, что вроде бы условия прописаны.
Можете по быстрому вставить в пустой файл и написать в ячейках B2 B3 по 4. и сразу B3 уходит в минус.
Получается что для ячейки B2 выполняется условие, и он останавливается когда [B2]<2. А ячейка B3 постоянно вычитает 3, пока [B2]>= 2 и свое условие [b3] >= 3 как-будто не замечает

Последний раз редактировалось AlexPuaro; 20.03.2020 в 00:45.
AlexPuaro вне форума Ответить с цитированием
Старый 20.03.2020, 07:30   #4
Elixi
Форумчанин
 
Регистрация: 10.05.2019
Сообщений: 163
По умолчанию

AlexPuaro,
не знаю что вы там считаете и чего хотите достич,
надо учитывать что ваш макрос внашивает изменения
в ячейки, которых смена вызивает выполнение
макроса и таким образом запускается цикл который
сложно взять под контроль. Если это не был замысел,
попробуйте так:
Код:
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
            Application.EnableEvents = False
                [a1] = [a1] + 1
                [b2] = [b2] - 2
                [b3] = [b3] - 3
            Application.EnableEvents = True
        End If
    End If
End Sub
Elixi вне форума Ответить с цитированием
Старый 20.03.2020, 10:30   #5
AlexPuaro
Новичок
Джуниор
 
Регистрация: 19.03.2020
Сообщений: 3
По умолчанию

Elixi, по итогу это нужно для подсчета изготовленных изделий.
Ещё такой вопрос, если учитывать изменение нужно ячеек не стоящих рядом, то как это можно записать формулой? Или можно просто Range(“A1:S100”) написать и на работу эту не повлияет?

Последний раз редактировалось AlexPuaro; 20.03.2020 в 15:03.
AlexPuaro вне форума Ответить с цитированием
Старый 22.03.2020, 11:50   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сделать можно все (если это не противоречит логике и понимать что именно нужно сделать)
обьясните как это должно работать - может кто-то поможет с реализацией
не можете обьяснить - занимайтесь реализацией свой идеи сами. все просто, понимаете?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение пустых ячеек по условию (копирование???) при помощи макроса, Макрос для копирования диапазона ячеек на текущем листе 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