Страницы: 1
RSS
Как обнулить событие "нажатие мышки"?
 
Добрый день  
Может кто сталкивался с моей проблемой?  
Ситуация в следующем:  
В форме Userform1 есть Листбокс в нем я выбираю двойным нажатием мышки элемент списка  
Далее я закрываю форму и открываю новую с уже другим Листбоксом.  
Так VBA запоминает куда я нажимал ранее в Userform1 и делает активным элемент списка не там где бы я хотел а там где ранее счелкнул в первой форме.  
Как можно исправить?
 
Отменить выселение так:  
For i = 0 To Me.ListBox1.ListCount - 1  
If Me.ListBox1.Selected(i) Then Me.ListBox1.Selected(i) = 0  
Next
 
Дело в том, что я при открытии 2 формы в процедуре  
UserForm_Initialize()пишу ListBox1.ListIndex = 40  
конкретное число для проверки и не получаю желаемого.  
Думаю, это связано с тем что место двойного нажатие мышки обрабатывается после  
UserForm_Initialize
 
Да еще один момент. При трассировке F8. Все нормально. Выделена та строчка какая нужна.
 
Может покажите вашу форму?
 
Прикрепил файл. Чтобы выскочила моя ошибка выберите объект "проверка"  
предварительно скроллингом поднимите к середине окна.  
И вы увидите, что во втором Листбоксе выделится не 3 позиция? как я задаю а та где будет курсор мышки.
 
Так?
 
нет. все как раньше.
 
На второй форме, если в списке значений 3 и более всегда выделяется 3-й элемент, если значений меньше 3-х, то выбирается последний в списке. У меня все так и работает. Что конкретно не работает у вас?
Страницы: 1
Читают тему
Наверх