Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
28.03.2024, 20:13:28

Войти
Добавляйтесь в нашу группу ВКонтакте - будьте в курсе всех новых событий сайта, узнавайте первым обо всех акциях и новых статьях!
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Обнаружить изменение в ячейке с 1 на 0
Страниц: [1]   Вниз
Печать
Автор Тема: Обнаружить изменение в ячейке с 1 на 0  (Прочитано 1702 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Artem
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 2


Просмотр профиля
« : 21.02.2021, 10:16:11 »

Доброго времени суток.
Подскажите как можно обнаружить изменение в ячейке, пусть будет ячейка А1 числа с 1 на 0, с 2 на 0 и т.д.
Числа в ячейке А1 меняются с помощью макроса и могут быть 0, 1, 2, 3 и т.д. Надо понять после какого числа (с одного, с двух, с трех) появился ноль.
Сам факт, что в ячейке произошли изменения, определить можно, а как выявить с какого числа появился ноль?
Код: (vb)
Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("A1")) Is Nothing Then
           Если ноль в А1 появился после 1 Then первое действие
           Если ноль в А1 появился после 2 Then второе действие
           Если ноль в А1 появился после 3 Then третье действие
       End If
End Sub
« Последнее редактирование: 23.02.2021, 11:50:55 от vikttur » Записан
vikttur
Глобальный модератор
Ветеран
*****

Репутация: +124/-0
Офлайн Офлайн

Сообщений: 1 816



Просмотр профиля
« Ответ #1 : 23.02.2021, 12:02:37 »

Код: (vb)
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        If Target.Value = 0 Then
            Application.EnableEvents = False
            Application.Undo
           
            Select Case Target.Value
            Case 1: Debug.Print 111
            Case 2: Debug.Print 222
            Case 3: Debug.Print 333
            End Select
           
            Application.Undo
            Application.EnableEvents = True
        End If
    End If
End Sub
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru