Excel как запустить макрос по клику в ячейке

 

Shain

Пользователь

Сообщений: 75
Регистрация: 24.01.2017

Есть столбец, как запускать макрос путем клика на ячейку в этом диапазоне?

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#2

06.06.2017 21:20:50

Код
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

Пользователь

Сообщений: 75
Регистрация: 24.01.2017

Спасибо, подскажите еще как добавить еще одну колонку

Изменено: Shain06.06.2017 21:48:06

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#4

06.06.2017 21:26:35

Цитата
Shain написал: Есть столбец…

Это Ваши слова? Какой вопрос — такой ответ
А вообще, по грамотному, прикладывается ФАЙЛ-пример (см. Правила форума, п.2.3.)

Согласие есть продукт при полном непротивлении сторон.

 

Shain

Пользователь

Сообщений: 75
Регистрация: 24.01.2017

Просто может возникнуть необходимость того же действия с колонкой №3

Изменено: Shain06.06.2017 21:48:49

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Вы знаете что в ‘колонке’ Excel современных версий 1 048 576 строк?
Т.е. Вам нужно что-бы при клике в ЛЮБОЙ ячейке (из 1 048 576) этого столбца срабатывал макрос? Даже за пределами Вашей рабочей таблицы?
Настаиваю. Приложите файл-пример в соответствии с Правилами форума

Согласие есть продукт при полном непротивлении сторон.

 

The_Prist

Пользователь

Сообщений: 14181
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#7

06.06.2017 21:35:44

Да ладно, чего в пример упираться. Думаю так будет вполне понятно и удобно для изменений:

Код
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_Prist06.06.2017 21:35:49

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Согласие есть продукт при полном непротивлении сторон.

 

Shain

Пользователь

Сообщений: 75
Регистрация: 24.01.2017

Sanja, все в пределах умной таблицы. Файл на работе остался просто. Сейчас дома хочу сделать.
Все по аналогии с первым, только + третья колонка

Нужна колонка А и колонка С. Как такое задать

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#10

06.06.2017 21:44:28

Цитата
The_Prist написал: Да ладно, чего в пример упираться.

Смотрим код в сообщении #7, от The_Prist,

Согласие есть продукт при полном непротивлении сторон.

 

Shain

Пользователь

Сообщений: 75
Регистрация: 24.01.2017

Я не знаю как перечислять. Через , или ; или как?

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Shain, кнопка цитирования не для ответа! Пройдитесь по своим сообщениям у удалите эти горе-цитаты.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#13

06.06.2017 21:49:31

Цитата
The_Prist написал: Да ладно, чего в пример упираться.
Цитата
Shain написал: Все в пределах умной таблицы.

Я все таки думаю что файл-ПРИМЕР не помешает. Создайте АНАЛОГ рабочего фойла

Согласие есть продукт при полном непротивлении сторон.

 

Shain

Пользователь

Сообщений: 75
Регистрация: 24.01.2017

При клике в любую ячейку диапазона А1:А10 — срабатывает макрос1
При клике в любую ячейку диапазона С1:С10 — срабатывает макрос1

 

Ігор Гончаренко

Пользователь

Сообщений: 13746
Регистрация: 01.01.1970

#15

06.06.2017 22:40:29

однако…

Код
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

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

AAF

Пользователь

Сообщений: 1000
Регистрация: 18.12.2016

#16

06.06.2017 22:51:19

А вот еще…  :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

 

SAILES

Пользователь

Сообщений: 87
Регистрация: 16.12.2018

#17

23.07.2021 22:47:28

Цитата
The_Prist написал: Да ладно, чего в пример упираться…

А как запретить выполнение макроса, если не кликать по ячейке а просто двигать курсов в ней?

Изменено: vikttur24.07.2021 12:28:07

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

SAILES, ну вот зачем здесь цитата? Зачем?!! Неужели Вы без цитирования не умеете задать вопрос?

 

SAILES

Пользователь

Сообщений: 87
Регистрация: 16.12.2018

Цитата потому, что в теме несколько макросов приводили

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

1. Можно указать номер сообщения — тогда и цитировать не нужно. Посмотрите на свою безобразную цитату — Там и текст захватили и сам макрос нечитаемый.
2. А какое вообще отношение Ваш вопрос имеет к ЭТОЙ теме?

 

SAILES

Пользователь

Сообщений: 87
Регистрация: 16.12.2018

А может просто убрать возможность цитировать тогда уж?
Зачем тут оффтоп объясни?

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#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-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (37)


Оценок пока нет. Оцените первым!

Запуск макроса по даблклику на определённую ячейку

futher

Дата: Вторник, 08.10.2013, 16:18 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 26

Всем доброго времени суток!
Собсно сабж:
Имеем макрос JP_Calendar (многим наверняка известный)
Имеем лист excel на который пытаемся его внедрить в семи различных ячейках(значения дат во всех ячейках разные).
В исходном коде макроса его запуск осуществляется по нажатию кнопки.
В нашем случае имеется желание запускать его по даблклику на любой из этих 7-ми ячеек(при входе в режим редактирования этих ячеек).
Насколько я понимаю необходимо в коде макроса прописать какой-то аргумент или процедуру,
потому что на данный момент, запущенный макрос сразу работает во всех нужных ячейках, и достаточно просто автоматизировать саму процедуру запуска макроса. Как это сделать — ума не приложу (поиск не помог).
Буду крайне признателен за любую помощь!

Сообщение отредактировал futherВторник, 08.10.2013, 16:19

 

Ответить

SkyPro

Дата: Вторник, 08.10.2013, 16:21 |
Сообщение № 2

Группа: Друзья

Ранг: Старожил

Сообщений: 1206


Репутация:

255

±

Замечаний:
0% ±


2010

В модуль книги:
[vba]

Код

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
MsgBox «вы сделали даблклик!» ‘ тут просто имя вашего макроса, или Call myMacro_name
End Sub

[/vba]

(думаю, что далее может последовать «уточнение», что нужно срабатывание только в определенном диапазоне..)
Если нужно только в определенном диапазоне, тогда так:
[vba]

Код

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range(«a1:e10»)) Is Nothing Then
       MsgBox «вы сделали даблклик!»
End If
End Sub

[/vba]

ЗЫ: Пока писал и редактировал сообщение, уже «последовало уточнение».


skypro1111@gmail.com

Сообщение отредактировал SkyProВторник, 08.10.2013, 16:25

 

Ответить

futher

Дата: Вторник, 08.10.2013, 17:09 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 26

ого! вот это оперативность! блиц-ответ за 3 минуты :D

отлично, теперь всё работает, премного благодарен!
PS: +1 в репу SkyPro

 

Ответить

RAN

Дата: Вторник, 08.10.2013, 17:14 |
Сообщение № 4

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Замените процедуру в коде на
[vba]

Код

Sub Auto_Open()
       arrFrmSetup = Array(True, False)   ‘ начальная установка чек-боксов календаря _
                      ‘arrFrmSetup(0) = True => «Ввод двойным щелчком» _
                      ‘arrFrmSetup(1) = False >= «Не прятать после ввода»
       ThisWbk.Reload_Appl
       ‘Call CalendarMenuCreate
End Sub

[/vba]
И будет счастье.
А сейчас календарь начинает работать только после вызова его кнопкой.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANВторник, 08.10.2013, 19:32

 

Ответить

futher

Дата: Вторник, 08.10.2013, 18:25 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 26

уточнений не будет :)

MsgBox «вы сделали даблклик!»

MsgBox мне совсем не нужен, я через Call всё запустил прекрасно, но можт кому кроме меня пригодится…

Не могли бы Вы пояснить про

только в определенном диапазоне

?
Сейчас, насколько я понимаю, макрос работает везде где формат ячейки «Дата», а так он будет работать на всех ячейках в заданном диапазоне?

 

Ответить

futher

Дата: Вторник, 08.10.2013, 18:30 |
Сообщение № 6

Группа: Пользователи

Ранг: Новичок

Сообщений: 26

А сейчас календарь начинает работать только после вызова его кнопкой

Спасибо огромное)
Ещё вопрос: как сделать чтобы параметр
«прятать после ввода»
был по умолчанию всегда включен?

 

Ответить

SkyPro

Дата: Вторник, 08.10.2013, 18:37 |
Сообщение № 7

Группа: Друзья

Ранг: Старожил

Сообщений: 1206


Репутация:

255

±

Замечаний:
0% ±


2010

Подозреваю, что так:[vba]

Код

arrFrmSetup = Array(True, True)

[/vba]


skypro1111@gmail.com

 

Ответить

RAN

Дата: Вторник, 08.10.2013, 19:30 |
Сообщение № 8

Группа: Друзья

Ранг: Экселист

Сообщений: 5645


Быть или не быть, вот в чем загвоздка!

 

Ответить

SkyPro

Дата: Вторник, 08.10.2013, 21:07 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 1206


Репутация:

255

±

Замечаний:
0% ±


2010

Просто проверять нет желания :)
Поэтому только подозрение.


skypro1111@gmail.com

 

Ответить

futher

Дата: Вторник, 08.10.2013, 21:33 |
Сообщение № 10

Группа: Пользователи

Ранг: Новичок

Сообщений: 26

Уважаемый SkyPro!
Ваши подозрения оправдались :D

 

Ответить

koyaanisqatsi

Дата: Четверг, 19.05.2016, 15:58 |
Сообщение № 11

Группа: Проверенные

Ранг: Ветеран

Сообщений: 712


Репутация:

15

±

Замечаний:
0% ±


Excel 2010

RAN, У меня почему-то время от времени слетают эти настройки хотя в коде написано все правильно.

[vba]

Код

Sub Auto_Open()
   arrFrmSetup = Array(False, True)      ‘ начальная установка чек-боксов календаря _
                    arrFrmSetup(0) = True => «Ввод двойным щелчком» _
                    arrFrmSetup(1) = False >= «Не прятать после ввода»

                    ‘   Call CalendarMenuCreate
End Sub

[/vba]

PS: Разобрался. Надо не просто в коде поменять. Надо в форме на в этих элементах переключить галочки тогда все ок работает.

 

Ответить

Alex_ST

Дата: Пятница, 20.05.2016, 09:53 |
Сообщение № 12

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3176


Репутация:

604

±

Замечаний:
0% ±


2003

Что-то я не понял, что тут вдруг за оффтоп?
koyaanisqatsi, почему вопросы из топика JP_Сalendar Вы задаёте одновременно и здесь, и там?
Я, конечно, понимаю, что начал оффтоп в этом посте RAN, но это было явно по ошибке и 3 года назад.
Но зачем сейчас-то продолжать?
[moder]Правильно! Так его! Распустились, понимаешь! Бардак в стране на форуме!
А если серьезно — то действительно, полностью согласен с Алексеем.



С уважением,
Алексей
MS Excel 2003 — the best!!!

Сообщение отредактировал _Boroda_Пятница, 20.05.2016, 10:01

 

Ответить

IraSh

0 / 0 / 0

Регистрация: 20.11.2015

Сообщений: 28

1

Excel

Запуск макроса при клике на определенную ячейку

16.02.2020, 00:20. Показов 9128. Ответов 5

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Всем доброго вечера. Не могу никак сообразить макрос.
Задача:
На листе в разных строках может встречаться слово «Итог».
При клике на соседнюю с ним ячейку должен происходить автоматический запуск макроса под названием «Расчет».

Моя логика такая:
— идет проверка активной ячейки (на которую мы кликнули);
— если ячейка находится в столбце 2 и если на одной строке с этой ячейкой в столбце 1 есть слово «Итог»
—> То запускается макрос «Расчет».

Но мой код не работает от слова совсем
Располагается он в том же листе, где происходит действие (не в отдельном модуле), так что проблема, видимо, именно в коде.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub test(ByVal Target As Range) 
Dim TW As Workbook
Set TW = ActiveWorkbook
Set SH = TW.Sheets("итоги")
 
Dim a As Integer, b As Integer
a = Target.Row 'Номер строки кликнутой ячейки
b = Target.Column 'Номер столбца кликнутой ячейки
 
If b = 2 And SH.Cells(a, 1).Value = "Итог" Then
Расчет
End If
End Sub

Не знаю, что я делаю не так. Может, кто-то видит ошибку?



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

16.02.2020, 00:20

Ответы с готовыми решениями:

Запуск файла, путь к которому хранится в БД при клике на ячейку DbGrid-а
В ячейке DBGrid’а лежит в виде обычной текстовой строки путь до файла. Как сделать, чтобы при…

Запуск макроса, название которого вписано в ячейку
Всем здравствуйте.
Есть такой вопрос:
В книге — несколько макросов — с разными названиями.

Прокрутка на определённую высоту при клике
Прошу помощи.
Есть шапка в 490px, в ней, внизу, меню, а далее, ниже идёт страница сайта, которую…

При клике на определенную ссылку выделяется другая
Народ помогите понять я совсем новенький в веб-программировании поэтому вопрос, при клики на…

5

Burk

1811 / 1134 / 345

Регистрация: 11.07.2014

Сообщений: 3,999

16.02.2020, 05:53

2

Лучший ответ Сообщение было отмечено pashulka как решение

Решение

вместо вашей первой строки надо поставить стандартное имя процедуры реакции на событие изменения адреса активной ячейки, а располагается ваш макрос там, где надо

Visual Basic
1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Добавлено через 26 минут
можно воспользоваться ещё событием по двойному клику

Visual Basic
1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)



1



pashulka

4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

16.02.2020, 06:40

3

Лучший ответ Сообщение было отмечено IraSh как решение

Решение

IraSh, Burk прав, от себя лишь могу посоветовать выкинуть 2-4 строки, как ненужные и номер строки, вполне может быть и Long.

Впрочем, можно вообще обойтись без переменных

Visual Basic
1
2
3
4
5
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 Then
       If Target.EntireRow.Cells(1) = "Итог" Then Рассчёт
    End If
End Sub

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

Цитата
Сообщение от IraSh
Посмотреть сообщение

Буду теперь выяснять, почему в исходном файле не работает.

Процедура хоть запускается? если нет то возможно отключен контроль событий.

Visual Basic
1
2
Application.EnableEvents = False 'отключаем отслеживание событий
Application.EnableEvents = True 'включаем отслеживание событий



0



0 / 0 / 0

Регистрация: 20.11.2015

Сообщений: 28

18.02.2020, 14:39

 [ТС]

6

Да, процедура запускалась, но была, видимо, проблема во втором макросе. Что-то там не срабатывало.
По крайней мере, сейчас все заработало (как будто само ).
Всем спасибо!ё



0



Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel как запустить макрос 2010
  • Excel как задать цикл
  • Excel как запустить в два окна
  • Excel как задать цвет для значения
  • Excel как запретить редактирование ячейки в excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии