![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.08.2011
Сообщений: 90
|
![]()
Ещё раз здравствуйте!
Уважаемые профессионалы, хочу написать макрос (Excel 2003), который бы по клику по ячейке скрывал столбец. Но не знаю как описать в макросе сам клик по ячейке. Не могли бы Вы, пожалуйста, подсказать? ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]()
Клики разные бывают - левой кнопкой одинарный или двойной, правой кнопкой, колёсиком, и т.д.
Который вас интересует? Код в модуле листа: Код:
Вот вам пример, где ДВОЙНОЙ ЩЕЛЧОК скрывает столбец, а клик ПРАВОЙ КНОПКОЙ - отображает столбец справа от щелкнутого: Пример в файле: http://excelvba.ru/XL_Files/Sample__...__13-35-07.zip Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 15.08.2011 в 11:36. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.08.2011
Сообщений: 90
|
![]()
Один клик левой кнопкой мышки, типа:
If (клик ЛКМ) Then Columns("B:B").EntireColumn.Hidden = True Это надо не в Private Sub использовать, а в Sub Последний раз редактировалось Vja4eslav; 15.08.2011 в 11:41. |
![]() |
![]() |
![]() |
#4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]()
Клик обязательно на ячейке?
Добавьте кнопку на лист, да назначьте её макрос из одной строки... Чтобы отловить одиночный клик по ячейке, используется событие Worksheet_SelectionChange Правда, повторный клик по этой ячейке не отловится. Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Левый клик на ячейке, как известно, приводит к ее выделению.
То есть отследить левый клик проще всего по событию выделения ячейки. Хотите сделать глиняный пулемет? ![]()
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Последний раз редактировалось Казанский; 15.08.2011 в 12:34. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 13.08.2011
Сообщений: 90
|
![]()
Уважаемый EducatedFool, Вы правы - это делается только в Private Sub.
Если я пишу: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ' двойной щелчок левой кнопкой по ячейке Target Columns("B:B").EntireColumn.Hidden = True 'скрываем стобец Cancel = True End Sub То по двойному щелчку на ЛЮБОЙ ячейке скрывается Columns("B:B"). А как сделать, чтобы он скрывался только по двойному щелчку на ячейке B1 ? ![]() |
![]() |
![]() |
![]() |
#7 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]() Цитата:
Разницы в вашем случае нет. Цитата:
Код:
|
||
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 13.08.2011
Сообщений: 90
|
![]()
Вот что значит профессионал! Спасибо Вам большое, EducatedFool, Вы мне за сегодня уже 2-й раз помогли
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
открытие нескольких книг одним макросом и закрытие книг другим макросом | kursant95 | Microsoft Office Excel | 6 | 27.01.2011 16:54 |
программный клик | mardocx | JavaScript, Ajax | 1 | 07.11.2010 21:02 |
реакция на клик по ячейке | ShamanK | Microsoft Office Excel | 7 | 01.12.2009 00:04 |
Клик (задачка) | Nells | Помощь студентам | 3 | 17.08.2009 18:30 |
Двойной клик | Алежа | Общие вопросы .NET | 3 | 16.11.2008 23:20 |