Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: Mart222 от 01.04.2015, 19:22

Название: Событие Double click
Отправлено: Mart222 от 01.04.2015, 19:22
Добрый день, уважаемые гуру.

Возник вопрос, вроде небольшой - но никак не могу решить.

Суть - по дабл клику на ячейку появляется форма с ListBox. Режим выбора значений ListBox - MultiSelect. Если дабл клик приходится на ячейку поверх которой всплывает форма (форма всплывает в центре экрана, поэтому кликнуть нужно в центре), то в форме выбирается пара значений - первое и позиция над которой кликнули. При этом клик был еще до того как загрузилась форма и я его отменяю установкой параметра в событии Cancel = True.
Проблема в том, что я загружаю определенный набор выделенных значений при предыдущем запуске формы в ListBox (в примере это условно 3 и 6) и эти ложные клики на списке мне все портят, так как выбираются лишние значения.

Возможно, есть идеи каким образом не допустить выбора лишнего в списке.

Спасибо.
Название: Re: Событие Double click
Отправлено: exceleved от 05.04.2015, 00:26
Введите задержку 0,1 секунды перед UserForm1.ShowDim t!: t = Timer + 0.1!
Do While Timer < t
  DoEvents
Loop
Название: Re: Событие Double click
Отправлено: Mart222 от 21.04.2015, 18:12
Огромное спасибо, Ваш способ замечательно работает.
Потратил кучу времени, с задержкой тоже экспериментировал, но видимо не в ту сторону. А все решается более чем просто и элегантно. Тем не менее природа данной проблемы так и осталась не ясна мне.
Еще раз спасибо.