Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка события DoubleClick на ячейке в Excel, Как? 
:(
    Опции темы
Eugene82
  Дата 28.2.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 30.5.2005
Где: г. Ростов-на-Дону

Репутация: нет
Всего: нет



САБЖ

Видел некотрое время назад тему в которой это описывалось, но сейчас не могу её найти. Тема была про обработку события выделения конкретной ячейки.

Итак, кто знает как запустить событие по DoubleClick, скажем на ячейке А1? (Кажется кто-то писал, что есть способ обработать двойной щелчок и нажатие Enter на ячейке).
PM WWW ICQ   Вверх
Akina
Дата 28.2.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Код

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

End Sub



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Eugene82
  Дата 28.2.2006, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 30.5.2005
Где: г. Ростов-на-Дону

Репутация: нет
Всего: нет



Akina, извини что не там тему создал. Пришлось догадываться как Exсel должен определять, что двойной щелчок сделан именно по ячейке "А1". Оказывается вот так:
Код

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
AddressForm.Show
End If
End Sub

По двойному щелчку мышью всё работает, а вот нажатие Enter на ячейке игнорируется - подозреваю что так и должно быть, но всё таки хотелось бы чтобы и это событие обрабатывалось!

Ещё вопрос. Детский. Какой вид имеют значения Target? А то пришлось с .Address замарочиться, а адреса объединённых ячеек это целые диапазоны! Типа "$G$14:$AY$14". А в адресной строке высвечивается как "G14"!!! Пришлось провоцировать Excel на выдачу мне значения Target.Address, а вот само значение Target не показывает даже Debug.Print! Как быть?
PM WWW ICQ   Вверх
Akina
Дата 1.3.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(Eugene82 @ 28.2.2006, 21:33 Найти цитируемый пост)
нажатие Enter на ячейке игнорируется

Слушай, а может ты все-таки озаботишься самостоятельно посмотреть, какие события можно обрабатывать, а?

Цитата(Eugene82 @ 28.2.2006, 21:33 Найти цитируемый пост)
Какой вид имеют значения Target?

Там же русским по белому написано - As Range!!!


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
likhobory
Дата 1.3.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



Цитата(Eugene82 @ 28.2.2006, 20:33 Найти цитируемый пост)
Какой вид имеют значения Target?

Цитата(Eugene82 @ 28.2.2006, 20:33 Найти цитируемый пост)
Target As Range

для более близкого знакомства открой View-> Locals Window , поставь breakpiont на 2 строку (F9) и при выполнении кода ознакомься с содержимым Locals...


--------------------
PM MAIL   Вверх
Eugene82
Дата 1.3.2006, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 30.5.2005
Где: г. Ростов-на-Дону

Репутация: нет
Всего: нет



likhobory, посмотрел, спасибо. Понял что передаётся указатель на объект типа Range со всеми его свойствами - этим и объясняется отсутствие конкретного значения у Target. ...Зато можно использовать его свойства и методы (Если я не прав пусть Akina напишет мне значение Target для моего примера smile).

Akina, то что я увидел в Редакторе VB меня не удовлетворило - слишком мало событий можно обрабатывать - прям не верится. К тому же какой-то умный чел писал что нажатие Enter тоже можно обработать - жаль что тему ту удалили. Было бы на 1 глупый вопрос меньше.

Это сообщение отредактировал(а) Eugene82 - 6.3.2006, 15:21
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.