Активация макроса при изминении в определенных ячейках
Kokkolar
Дата: Понедельник, 23.06.2014, 16:51 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Как сделать запуск макроса при изменении определенных ячеек, а НЕ их диапазона? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Set KeyCells = Range("A1", "A3") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then Call sumka End If End Sub
[/vba] То есть мне надо чтобы макрос запускался при изменении в А1 или А3, но не в А2.
Как сделать запуск макроса при изменении определенных ячеек, а НЕ их диапазона? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Set KeyCells = Range("A1", "A3") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then Call sumka End If End Sub
[/vba] То есть мне надо чтобы макрос запускался при изменении в А1 или А3, но не в А2. Kokkolar
Ответить
Сообщение Как сделать запуск макроса при изменении определенных ячеек, а НЕ их диапазона? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Set KeyCells = Range("A1", "A3") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then Call sumka End If End Sub
[/vba] То есть мне надо чтобы макрос запускался при изменении в А1 или А3, но не в А2. Автор - Kokkolar Дата добавления - 23.06.2014 в 16:51
Serge_007
Дата: Понедельник, 23.06.2014, 16:59 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Kokkolar
Дата: Понедельник, 23.06.2014, 18:45 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Ничего про этот таргет не понял. Извратился вот так: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells1, KeyCells2 As Range Set KeyCells1 = Range("A1") Set KeyCells2 = Range("A3") If Not Application.Intersect(KeyCells1, Range(Target.Address)) _ Is Nothing Then Call sumka End If If Not Application.Intersect(KeyCells2, Range(Target.Address)) _ Is Nothing Then Call sumka End If End Sub
[/vba] Работает как надо, но от такой "красоты" кода глаза вытекают.
Ничего про этот таргет не понял. Извратился вот так: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells1, KeyCells2 As Range Set KeyCells1 = Range("A1") Set KeyCells2 = Range("A3") If Not Application.Intersect(KeyCells1, Range(Target.Address)) _ Is Nothing Then Call sumka End If If Not Application.Intersect(KeyCells2, Range(Target.Address)) _ Is Nothing Then Call sumka End If End Sub
[/vba] Работает как надо, но от такой "красоты" кода глаза вытекают. Kokkolar
Сообщение отредактировал Kokkolar - Понедельник, 23.06.2014, 18:46
Ответить
Сообщение Ничего про этот таргет не понял. Извратился вот так: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells1, KeyCells2 As Range Set KeyCells1 = Range("A1") Set KeyCells2 = Range("A3") If Not Application.Intersect(KeyCells1, Range(Target.Address)) _ Is Nothing Then Call sumka End If If Not Application.Intersect(KeyCells2, Range(Target.Address)) _ Is Nothing Then Call sumka End If End Sub
[/vba] Работает как надо, но от такой "красоты" кода глаза вытекают. Автор - Kokkolar Дата добавления - 23.06.2014 в 18:45
RAN
Дата: Понедельник, 23.06.2014, 19:27 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
[vba]Код
Set KeyCells = Range("A1, A3")
[/vba]
[vba]Код
Set KeyCells = Range("A1, A3")
[/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение [vba]Код
Set KeyCells = Range("A1, A3")
[/vba] Автор - RAN Дата добавления - 23.06.2014 в 19:27
_Boroda_
Дата: Понедельник, 23.06.2014, 19:54 |
Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Предположу, что Вам нужно так: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("A1,A3"), Target) Is Nothing Then Call sumka End If End Sub
[/vba] Впрочем, Андрей выше уже написал.
Предположу, что Вам нужно так: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("A1,A3"), Target) Is Nothing Then Call sumka End If End Sub
[/vba] Впрочем, Андрей выше уже написал. _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Предположу, что Вам нужно так: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("A1,A3"), Target) Is Nothing Then Call sumka End If End Sub
[/vba] Впрочем, Андрей выше уже написал. Автор - _Boroda_ Дата добавления - 23.06.2014 в 19:54
Kokkolar
Дата: Понедельник, 23.06.2014, 20:00 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
RAN , я начал с этого. При такой записи это воспринимается все равно что A1:A3
RAN , я начал с этого. При такой записи это воспринимается все равно что A1:A3Kokkolar
Ответить
Сообщение RAN , я начал с этого. При такой записи это воспринимается все равно что A1:A3Автор - Kokkolar Дата добавления - 23.06.2014 в 20:00
_Boroda_
Дата: Понедельник, 23.06.2014, 20:04 |
Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
При такой записи это воспринимается все равно что A1:A3
Вот специально сейчас проверил еще и в 2003-м. Все нормально работает. Держите файл. Поиграйтесь там.
При такой записи это воспринимается все равно что A1:A3
Вот специально сейчас проверил еще и в 2003-м. Все нормально работает. Держите файл. Поиграйтесь там._Boroda_
К сообщению приложен файл:
8_1.xlsm
(11.1 Kb)
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение При такой записи это воспринимается все равно что A1:A3
Вот специально сейчас проверил еще и в 2003-м. Все нормально работает. Держите файл. Поиграйтесь там.Автор - _Boroda_ Дата добавления - 23.06.2014 в 20:04
ShAM
Дата: Понедельник, 23.06.2014, 20:20 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация:
249
±
Замечаний:
0% ±
Excel 2010
Вот специально сейчас проверил еще и в 2003-м. Все нормально работает. Держите файл.
Хм, и выложил не в 2003-м
Вот специально сейчас проверил еще и в 2003-м. Все нормально работает. Держите файл.
Хм, и выложил не в 2003-м ShAM
К сообщению приложен файл:
8_2.xls
(28.5 Kb)
Ответить
Сообщение Вот специально сейчас проверил еще и в 2003-м. Все нормально работает. Держите файл.
Хм, и выложил не в 2003-м Автор - ShAM Дата добавления - 23.06.2014 в 20:20
Kokkolar
Дата: Понедельник, 23.06.2014, 20:27 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Вот блин! Вот в чем дело было. Я писал так [vba][/vba] а надо было кавычки общими сделать, как RAN написал. Я то и не обратил внимания. [vba][/vba] Всем спасибо
Вот блин! Вот в чем дело было. Я писал так [vba][/vba] а надо было кавычки общими сделать, как RAN написал. Я то и не обратил внимания. [vba][/vba] Всем спасибо Kokkolar
Ответить
Сообщение Вот блин! Вот в чем дело было. Я писал так [vba][/vba] а надо было кавычки общими сделать, как RAN написал. Я то и не обратил внимания. [vba][/vba] Всем спасибо Автор - Kokkolar Дата добавления - 23.06.2014 в 20:27