|
Shain Пользователь Сообщений: 75 |
Есть столбец, как запускать макрос путем клика на ячейку в этом диапазоне? |
|
Sanja Пользователь Сообщений: 14838 |
#2 06.06.2017 21:20:50
В модуль листа. При клике на любой ячейке в первом столбце запускается макрос ‘MyMacro’ Согласие есть продукт при полном непротивлении сторон. |
||
|
Shain Пользователь Сообщений: 75 |
Спасибо, подскажите еще как добавить еще одну колонку Изменено: Shain — 06.06.2017 21:48:06 |
|
Sanja Пользователь Сообщений: 14838 |
#4 06.06.2017 21:26:35
Это Ваши слова? Какой вопрос — такой ответ Согласие есть продукт при полном непротивлении сторон. |
||
|
Shain Пользователь Сообщений: 75 |
Просто может возникнуть необходимость того же действия с колонкой №3 Изменено: Shain — 06.06.2017 21:48:49 |
|
Sanja Пользователь Сообщений: 14838 |
Вы знаете что в ‘колонке’ Excel современных версий 1 048 576 строк? Согласие есть продукт при полном непротивлении сторон. |
|
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
#7 06.06.2017 21:35:44 Да ладно, чего в пример упираться. Думаю так будет вполне понятно и удобно для изменений:
Где менять диапазон отслеживания клика надо пояснять? Изменено: The_Prist — 06.06.2017 21:35:49 Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
|
Sanja Пользователь Сообщений: 14838 |
Согласие есть продукт при полном непротивлении сторон. |
|
Shain Пользователь Сообщений: 75 |
Sanja, все в пределах умной таблицы. Файл на работе остался просто. Сейчас дома хочу сделать. Нужна колонка А и колонка С. Как такое задать |
|
Sanja Пользователь Сообщений: 14838 |
#10 06.06.2017 21:44:28
Смотрим код в сообщении #7, от The_Prist, Согласие есть продукт при полном непротивлении сторон. |
||
|
Shain Пользователь Сообщений: 75 |
Я не знаю как перечислять. Через , или ; или как? |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
Shain, кнопка цитирования не для ответа! Пройдитесь по своим сообщениям у удалите эти горе-цитаты. |
|
Sanja Пользователь Сообщений: 14838 |
#13 06.06.2017 21:49:31
Я все таки думаю что файл-ПРИМЕР не помешает. Создайте АНАЛОГ рабочего фойла Согласие есть продукт при полном непротивлении сторон. |
||||
|
Shain Пользователь Сообщений: 75 |
При клике в любую ячейку диапазона А1:А10 — срабатывает макрос1 |
|
Ігор Гончаренко Пользователь Сообщений: 13746 |
#15 06.06.2017 22:40:29 однако…
Изменено: Ігор Гончаренко — 06.06.2017 23:11:11 Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
|
AAF Пользователь Сообщений: 1000 |
#16 06.06.2017 22:51:19 А вот еще…
Или еще вопросы? Тут столько всего написали, а файла так и не дождались… |
||
|
SAILES Пользователь Сообщений: 87 |
#17 23.07.2021 22:47:28
А как запретить выполнение макроса, если не кликать по ячейке а просто двигать курсов в ней? Изменено: vikttur — 24.07.2021 12:28:07 |
||
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
SAILES, ну вот зачем здесь цитата? Зачем?!! Неужели Вы без цитирования не умеете задать вопрос? |
|
SAILES Пользователь Сообщений: 87 |
Цитата потому, что в теме несколько макросов приводили |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
1. Можно указать номер сообщения — тогда и цитировать не нужно. Посмотрите на свою безобразную цитату — Там и текст захватили и сам макрос нечитаемый. |
|
SAILES Пользователь Сообщений: 87 |
А может просто убрать возможность цитировать тогда уж? |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#22 24.07.2021 00:38:27 Я с Вами водку не пил. И поэтому не нужно мне «тыкать». И с каких это пор замечания модератора стали считаться оффтопом? |
Запуск макроса изменением значения в ячейке.
Ранее в статье
Как сделать связанный выпадающий список в «Эксель», зависящий от значения в соседней ячейке.
рассказывалось о том, как реализовать в программе Excel связанные между собой выпадающие списки. Недавно создавая файл со связанными списками столкнулся с проблемкой — при обновлении записи в первой ячейке, от которой зависит список во второй, вторая ячейка остается неизменной, не обнуляет значения.

Для этого потребовалось написать 2 коротеньких алгоритма (макроса):
Первый макрос — производит удаление данных из ячейки и выглядит следующим образом:
Sub noll()
On Error Resume Next
ActiveSheet.Cells(2, 2).Value = «»
End Sub
Этот макрос следует записать в поле раздела «module» — в «контейнер» модуля.
Второй макрос — активирует первый при клике по ячейке.
Выглядит код вызывающий (запускающий ) макрос по клику на ячейку, следующим образом:
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim u As String
On Error Resume Next
If Not Intersect(Target, Range(«B1»)) Is Nothing Then
Call noll
End If
End Sub
Этот код нужно записывать не в контейнер «module», а непосредтвенно в лист. Для этого следует в меню разработчика в просмотре кода:
- Кликнуть двойным щелчком по названию листа.
- После двойного клика будет открыто поле для внесения кода аналогичное полю модуля (module).
После записи макроса проблемка была решена, но мне не очень понравилось, что вторая ячейка обнулялась при любом выделении или клике по первой ячейке.
Поэтому я решил поправить код вызова макроса и изменил его таким образом, чтобы макрос активировался не при клике на ячейку, а при ее изменении.
Код стал выглядеть следующим образом:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim u As String
On Error Resume Next
If Not Intersect(Target, Range(«B1»)) Is Nothing Then
Call noll
End If
End Sub
Теперь макрос стал запускаться только при изменении первой ячейки, например, при выборе нового значения из выпадающего списка.
Вопросы и пожелания можете оставлять в комментариях или на форуме нашего сайта.
Видео о работе в excel можно найти на нашем youtube канале по ссылке:
Канал «RuExcel»
Удачи в изучении программы Ecxel.
Работая с Microsoft Excel, вы можете знать, как запускать определенный макрос с помощью командной кнопки. Но знаете ли вы, как запустить макрос, просто щелкнув определенную ячейку на листе? В этой статье будет подробно описан метод запуска макроса при нажатии на определенную ячейку.
Запуск или запуск макроса, щелкнув определенную ячейку с кодом VBA
Запуск или запуск макроса, щелкнув определенную ячейку с кодом VBA
Следующий код VBA может помочь вам запустить макрос, щелкнув определенную ячейку в Excel. Пожалуйста, сделайте следующее.
1. На листе с ячейкой, которую нужно щелкнуть, чтобы запустить макрос, щелкните правой кнопкой мыши вкладку листа, а затем щелкните Просмотреть код из контекстного меню.
2. в Microsoft Visual Basic для приложений в окне кода скопируйте и вставьте приведенный ниже сценарий VBA.
Код VBA: запуск или запуск макроса, щелкнув определенную ячейку
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("D4")) Is Nothing Then
Call MyMacro
End If
End If
End Sub
Заметки:
1. В коде D4 — это ячейка, по которой вы щелкаете, чтобы запустить макрос;
2. Пожалуйста, замените кодовое имя МойМакрос с макросом, который вы запустите на листе. Смотрите скриншот:
3. нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
С этого момента при нажатии на ячейку D4 на текущем листе ваш указанный макрос будет запускаться немедленно.
Статьи по теме:
- Как открыть календарь при нажатии на определенную ячейку в Excel?
- Как изменить цвет ячейки при нажатии или выборе ячейки в Excel?
- Как открыть окно сообщения при нажатии на определенную ячейку в Excel?
- Как отключить кнопку после однократного нажатия в Excel?
- Как отключить щелчок правой кнопкой мыши на вкладке листа в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (37)
Оценок пока нет. Оцените первым!
|
Запуск макроса по даблклику на определённую ячейку |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
|
IraSh 0 / 0 / 0 Регистрация: 20.11.2015 Сообщений: 28 |
||||
|
1 |
||||
|
Excel Запуск макроса при клике на определенную ячейку16.02.2020, 00:20. Показов 9128. Ответов 5 Метки нет (Все метки)
Всем доброго вечера. Не могу никак сообразить макрос. Моя логика такая: Но мой код не работает от слова совсем
Не знаю, что я делаю не так. Может, кто-то видит ошибку?
0 |
|
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
16.02.2020, 00:20 |
|
Ответы с готовыми решениями: Запуск файла, путь к которому хранится в БД при клике на ячейку DbGrid-а
При клике на определенную ссылку выделяется другая 5 |
|
Burk 1811 / 1134 / 345 Регистрация: 11.07.2014 Сообщений: 3,999 |
||||||||
|
16.02.2020, 05:53 |
2 |
|||||||
|
Решениевместо вашей первой строки надо поставить стандартное имя процедуры реакции на событие изменения адреса активной ячейки, а располагается ваш макрос там, где надо
Добавлено через 26 минут
1 |
|
pashulka 4131 / 2235 / 940 Регистрация: 01.12.2010 Сообщений: 4,624 |
||||
|
16.02.2020, 06:40 |
3 |
|||
|
РешениеIraSh, Burk прав, от себя лишь могу посоветовать выкинуть 2-4 строки, как ненужные и номер строки, вполне может быть и Long. Впрочем, можно вообще обойтись без переменных
P.S. Здесь не учитывается, что итог может быть с пробелом и/или с разным регистром. Но всё это решаемо.
1 |
|
0 / 0 / 0 Регистрация: 20.11.2015 Сообщений: 28 |
|
|
17.02.2020, 14:21 [ТС] |
4 |
|
Burk, pashulka, спасибо за помощь!
0 |
|
Vlad999 3827 / 2254 / 751 Регистрация: 02.11.2012 Сообщений: 5,928 |
||||
|
17.02.2020, 15:09 |
5 |
|||
|
Буду теперь выяснять, почему в исходном файле не работает. Процедура хоть запускается? если нет то возможно отключен контроль событий.
0 |
|
0 / 0 / 0 Регистрация: 20.11.2015 Сообщений: 28 |
|
|
18.02.2020, 14:39 [ТС] |
6 |
|
Да, процедура запускалась, но была, видимо, проблема во втором макросе. Что-то там не срабатывало.
0 |







Запуск макроса, название которого вписано в ячейку
