Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Запуск макроса при изменении значения ячейки с 0 на 1 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запуск макроса при изменении значения ячейки с 0 на 1 (Макросы/Sub)
Запуск макроса при изменении значения ячейки с 0 на 1
S-freez Дата: Вторник, 23.02.2016, 06:05 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
В ячейке "F20" постоянно чередуются значения 0 или 1.
Нужно выполнять макрос каждый раз, когда значение меняется с 0 на 1 именно в тот момент, когда оно поменялось.
условие If F20=1 здесь не подходит.


Сообщение отредактировал S-freez - Вторник, 23.02.2016, 07:15
 
Ответить
СообщениеВ ячейке "F20" постоянно чередуются значения 0 или 1.
Нужно выполнять макрос каждый раз, когда значение меняется с 0 на 1 именно в тот момент, когда оно поменялось.
условие If F20=1 здесь не подходит.

Автор - S-freez
Дата добавления - 23.02.2016 в 06:05
Апострофф Дата: Вторник, 23.02.2016, 08:03 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 28 ±
Замечаний: 0% ±

Excel 2003
Цитата
В ячейке "F20" постоянно чередуются значения 0 или 1
Кем меняются значения?
В зависимости от ответа поищите -
[vba]
Код
Sub Worksheet_Change(ByVal Target As Range)
[/vba]
или
[vba]
Код
Sub Worksheet_Calculate
[/vba]
 
Ответить
Сообщение
Цитата
В ячейке "F20" постоянно чередуются значения 0 или 1
Кем меняются значения?
В зависимости от ответа поищите -
[vba]
Код
Sub Worksheet_Change(ByVal Target As Range)
[/vba]
или
[vba]
Код
Sub Worksheet_Calculate
[/vba]

Автор - Апострофф
Дата добавления - 23.02.2016 в 08:03
S-freez Дата: Вторник, 23.02.2016, 08:43 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Апострофф, Спасибо! Решил задачу таким-образом.

[vba]
Код
Private Sub Worksheet_Calculate()
Static OldVal1 As Byte, OldVal2 As Byte
If Range("F20").Value <> OldVal1 Then
OldVal1 = Range("F20").Value
Call Mymacro
End If
End Sub
[/vba]

[vba]
Код
Sub Mymacro ()
If [F20] = 0 Then Exit Sub Else MsgBox (123)
End Sub
[/vba]

Возможно можно было проще.
[moder]Оформляйте коды тегами (кнопка #)[/moder]


Сообщение отредактировал Pelena - Вторник, 23.02.2016, 08:52
 
Ответить
СообщениеАпострофф, Спасибо! Решил задачу таким-образом.

[vba]
Код
Private Sub Worksheet_Calculate()
Static OldVal1 As Byte, OldVal2 As Byte
If Range("F20").Value <> OldVal1 Then
OldVal1 = Range("F20").Value
Call Mymacro
End If
End Sub
[/vba]

[vba]
Код
Sub Mymacro ()
If [F20] = 0 Then Exit Sub Else MsgBox (123)
End Sub
[/vba]

Возможно можно было проще.
[moder]Оформляйте коды тегами (кнопка #)[/moder]

Автор - S-freez
Дата добавления - 23.02.2016 в 08:43
dima_dan2012 Дата: Вторник, 23.02.2016, 10:21 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 7 ±
Замечаний: 0% ±

Excel 2003,2007
[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)

a = CStr(ActiveCell.Offset(-1, 0).Address)
    If Not Range("f20").Value = 0 And a = "$F$20" Then
    MsgBox (1): Exit Sub
    End If
    If Range("f20").Value = 0 And a = "$F$20" Then
    MsgBox (0): Exit Sub
    End If
End Sub
[/vba]


Сообщение отредактировал dima_dan2012 - Вторник, 23.02.2016, 13:14
 
Ответить
Сообщение[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)

a = CStr(ActiveCell.Offset(-1, 0).Address)
    If Not Range("f20").Value = 0 And a = "$F$20" Then
    MsgBox (1): Exit Sub
    End If
    If Range("f20").Value = 0 And a = "$F$20" Then
    MsgBox (0): Exit Sub
    End If
End Sub
[/vba]

Автор - dima_dan2012
Дата добавления - 23.02.2016 в 10:21
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запуск макроса при изменении значения ячейки с 0 на 1 (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!