Выделение элемента по номеру в Listbox

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Добрый день! Подскажите, пожалуйста свойство или метод объекта Listbox на пользовательской форме, чтобы выделить элемент его списка по порядковому номеру. Список большой и нужно привести ползунок прокрутки к тем элементам, которые могут потребоваться пользователю в данных момент. Спасибо!
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Я бы сделал так (проверил только что)
На форме с ListBox помещаем TextBox куда вводим номер нужной строки. В ListBox сразу выделяется нужная строка. Тут конечно нужно еще обработать ошибку, когда ListBox пустой, но это уже "дело техники". Да и вообще все можно сделать "под себя".
Самое главное думаю понятно - обращаемся к ListIndex

Код: Выделить всё

Private Sub UserForm_Activate()
ListBox1.RowSource = "МояБаза"
End Sub

Private Sub TextBox1_Change()
a = TextBox1.Value
ListBox1.ListIndex = a
End Sub
p.s. надеюсь Вы знаете, что значение ListIndex первой сторки = 0. Эт так, на всякий случай. :)
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Спасибо, большое! ".ListIndex", это как раз то, что было нужно.
Честно говоря, главной задачей было просто при загрузке формы прокрутить список в конец, что отлично решила такая конструкция:

Код: Выделить всё

With ListBox1
        .RowSource = "Лист1!" & Range("МойСтолбец").Address
        .ListIndex = Range("МойСтолбец").Count - 1
End With
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Честно говоря, главной задачей было просто при загрузке формы прокрутить список в конец, что отлично решила такая конструкция
ну вот и ладушки. Хорошо все все получилось :)
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Ответить