Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Выделить добавленный элемент listbox1., Необходимо выделить элемент в listbox1 на UF1, добавленный из listbox1 на другой форме UF2 по двойному щелчку.
 
asesja, Так у меня на основном listbox включен multiselect. Цикл нужен, чтобы полностью убрать всё старое выделение
Выделить добавленный элемент listbox1., Необходимо выделить элемент в listbox1 на UF1, добавленный из listbox1 на другой форме UF2 по двойному щелчку.
 
asesja, скорее всего в новых версиях этот баг подправили. Но я создаю интерфейс для сотрудников компании и там с переходом на новые версии офиса всё тяжко)
К счастью, я чудом нашёл решение проблемы с одного англоязычного форума https://www.mrexcel.com/
Код
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim t!, i&
    t = Timer
    Do: DoEvents: Loop Until Timer - t >= 0.1
    With UserForm1.ListBox1
        .AddItem Me.ListBox1.Value, 0
        .ListIndex = .ListCount - 1
        For i = 0 To .ListCount
            .Selected(i) = False
        Next i
        .Selected(0) = True
    End With
    Unload Me
End Sub
Вся фишка в коротком зацикливании DoEvents в начале события двойного клика. Добавил файл с решением, если кому вдруг пригодится :)  
Выделить добавленный элемент listbox1., Необходимо выделить элемент в listbox1 на UF1, добавленный из listbox1 на другой форме UF2 по двойному щелчку.
 
asesja, добрый вечер!
Очень странно. Я запустил этот же макрос с другого рабочего компьютера и проблема осталась. Версия офиса 2016 (64-bit)
Изменено: Роман - 26.02.2025 21:37:45
Выделить добавленный элемент listbox1., Необходимо выделить элемент в listbox1 на UF1, добавленный из listbox1 на другой форме UF2 по двойному щелчку.
 
Всем привет!
Создаю интерфейс пользователя, у которого будет основная таблица listbox1 на userform1. На этой форме по нажатию на кнопку вызывается дополнительная форма userform2 со списком элементов. При двойном клике на один из них, userform2 должна закрыться, а в userform1 внутри listbox1 добавиться выбранный элемент. При этом добавленный элемент должен выделиться.
Проблема как раз с выделением добавленного элемента. После двойного клика на LB в UF2 выделяется не добавленный элемент, а диапазон элементов между добавленным и тем, который расположен под UF2 на UF1 в месте двойного клика. Само добавление и выделение происходит внутри события ListBox1_DblClick, которое почему-то после закрытия формы генерирует нажатие на элемент находящийся под самой формой.
Уже пробовал задержку, установку фокусов и DoEvents - ничего не помогло((

Прилагаю упрощенный файл по этой проблеме.
Страницы: 1
Наверх