реклама на сайте
подробности

 
 
> Excel Vba, Есть ли событие "клик мышью по ячейке?
Kofey Nik
сообщение Jul 8 2005, 12:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 5-07-05
Из: Нижний Новгород
Пользователь №: 6 540



Нужно окрашивать текущую строку таблицы в какой-нить цвет при клике по любой ее ячейке и снимать ее окраску при клике на другой строке (она естесственно тоже должна окрашиваться). Но события "мыши" я не нашел. Можно ли как -нить это выполнить?


--------------------
Все мы учились понемногу - чему нибудь и как нибудь :).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
Solik
сообщение Jul 11 2005, 15:15
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 30-03-05
Из: Минск
Пользователь №: 3 781



BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
...BeforeDoubleClick(....)
............

Смотри Help (там есть примеры)
Go to the top of the page
 
+Quote Post
Kofey Nik
сообщение Aug 5 2005, 13:05
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 5-07-05
Из: Нижний Новгород
Пользователь №: 6 540



Мои сердечные благодарности. Извини, можно еще вопрос?
Помимо запрограммированной функции выполняется еще и стандартная. При двойном клике - это редакцирование содержимого ячейки, а при клике правой кнопкой - вывод меню. Как убрать выполнение стандартной функции?


--------------------
Все мы учились понемногу - чему нибудь и как нибудь :).
Go to the top of the page
 
+Quote Post
Kofey Nik
сообщение Aug 8 2005, 12:59
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 5-07-05
Из: Нижний Новгород
Пользователь №: 6 540



Функция то выполняется до выделения другой ячейки, а вот что должно выполняться после, такого события среди событий Листа не нашел и в справке, только Befor-двойной клик (клик правой). Получается, что убрать предйдущее выделение (окрашивание) можно, а окрасить новое выделение не получается, поскольку в процедуре на данный момент только адрес текущего выделения. Как поступить?


--------------------
Все мы учились понемногу - чему нибудь и как нибудь :).
Go to the top of the page
 
+Quote Post
Solik
сообщение Aug 30 2005, 06:07
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 30-03-05
Из: Минск
Пользователь №: 3 781



Заведи переменную и храни в ней адрес предыдущего выделения.
А потом при необходимости ты можешь найти предыдущий адрес (либо список из N -адресов если переменная скажем массиф адресоф).......
Go to the top of the page
 
+Quote Post
Kofey Nik
сообщение Aug 30 2005, 07:06
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 5-07-05
Из: Нижний Новгород
Пользователь №: 6 540



Спасибо, Solik. Я уже справился. Теперь нужно с COM-портом работать. Посылать туда байты управления и принимать из буфера порта. Это возможно из Excel VBA?


--------------------
Все мы учились понемногу - чему нибудь и как нибудь :).
Go to the top of the page
 
+Quote Post
Solik
сообщение Sep 2 2005, 08:03
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 30-03-05
Из: Минск
Пользователь №: 3 781



С помощью API (DLL) можно наваратить чего хочешь....

С COM-портом не работал ...

Попробуй поискать на VBa-шных сайтах, где-то раньше встречал про это и статьи и примеры
(помойму на www.VBRussian.com .... )
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 04:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016