Страницы: 1
RSS
Как запустить макрос кликом по ячейке в заданном диапазоне?
 
Есть столбец, как запускать макрос путем клика на ячейку в этом диапазоне?
 
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(1)) Is Nothing And Target.Count = 1 Then
    Call MyMacro
End If
End Sub
В модуль листа. При клике на любой ячейке в первом столбце запускается макрос 'MyMacro'
Согласие есть продукт при полном непротивлении сторон
 
Спасибо, подскажите еще как добавить еще одну колонку
Изменено: Shain - 06.06.2017 21:48:06
 
Цитата
Shain написал: Есть столбец...
Это Ваши слова? Какой вопрос - такой ответ
А вообще, по грамотному, прикладывается ФАЙЛ-пример (см. Правила форума, п.2.3.)
Согласие есть продукт при полном непротивлении сторон
 
Просто может возникнуть необходимость того же действия с колонкой №3
Изменено: Shain - 06.06.2017 21:48:49
 
Вы знаете что в 'колонке' Excel современных версий 1 048 576 строк?
Т.е. Вам нужно что-бы при клике в ЛЮБОЙ ячейке (из 1 048 576) этого столбца срабатывал макрос? Даже за пределами Вашей рабочей таблицы?
Настаиваю. Приложите файл-пример в соответствии с Правилами форума
Согласие есть продукт при полном непротивлении сторон
 
Да ладно, чего в пример упираться. Думаю так будет вполне понятно и удобно для изменений:
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B50") Is Nothing And Target.Count = 1 Then
    Call MyMacro
End If
End Sub
Где менять диапазон отслеживания клика надо пояснять?
Изменено: The_Prist - 06.06.2017 21:35:49
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо, The_Prist,
Согласие есть продукт при полном непротивлении сторон
 
Sanja, все в пределах умной таблицы. Файл на работе остался просто. Сейчас дома хочу сделать.
Все по аналогии с первым, только + третья колонка

Нужна колонка А и колонка С. Как такое задать
 
Цитата
The_Prist написал: Да ладно, чего в пример упираться.
Смотрим код в сообщении #7, от The_Prist,
Согласие есть продукт при полном непротивлении сторон
 
Я не знаю как перечислять. Через , или ; или как?
 
Shain, кнопка цитирования не для ответа! Пройдитесь по своим сообщениям у удалите эти горе-цитаты.
 
Цитата
The_Prist написал: Да ладно, чего в пример упираться.
Цитата
Shain написал: Все в пределах умной таблицы.
Я все таки думаю что файл-ПРИМЕР не помешает. Создайте АНАЛОГ рабочего фойла
Согласие есть продукт при полном непротивлении сторон
 
При клике в любую ячейку диапазона А1:А10 - срабатывает макрос1
При клике в любую ячейку диапазона С1:С10 - срабатывает макрос1
 
однако...
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Target, Union([a1:a10], [c1:c10])) Is Nothing And Target.Count = 1 Then макрос1
End Sub
Изменено: Ігор Гончаренко - 06.06.2017 23:11:11
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
А вот еще...  :D
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Set rng = Range("A1:Z30") 'Это Ваш диапазн
If Not Intersect(Target, rng) Is Nothing And Target.Count = 1 Then 'если Target внутри Вашего диапазона
  Select Case Target.Column
    Case 1, 3, 10 'для номеров столбцов
      'запускаем макрос1
    Case 2, 4 'для номеров столбцов
      'запускаем макрос2 или удаляем условие
    Case Else 'остальных столбцов
      'запускаем макрос3 или удаляем условие
  End If
End If
End Sub

Или еще вопросы? Тут столько всего написали, а файла так и не дождались...  :D
 
Цитата
The_Prist написал: Да ладно, чего в пример упираться...
А как запретить выполнение макроса, если не кликать по ячейке а просто двигать курсов в ней?
Изменено: vikttur - 24.07.2021 12:28:07
 
SAILES, ну вот зачем здесь цитата? Зачем?!! Неужели Вы без цитирования не умеете задать вопрос?
 
Цитата потому, что в теме несколько макросов приводили
 
1. Можно указать номер сообщения - тогда и цитировать не нужно. Посмотрите на свою безобразную цитату - Там и текст захватили и сам макрос нечитаемый.
2. А какое вообще отношение Ваш вопрос имеет к ЭТОЙ теме?
 
А может просто убрать возможность цитировать тогда уж?
Зачем тут оффтоп объясни?
 
Я с Вами водку не пил. И поэтому не нужно мне "тыкать". И с каких это пор замечания модератора стали считаться оффтопом?
А кнопка цитирования для тех, кто знает, что такое цитата и знает, в каких случаях ей нужно пользоваться.
Создайте свою тему.
Страницы: 1
Наверх