Страница: 1 |
Вопрос: ListBox-Как организовать загрузку нового RowSource | Добавлено: 25.10.09 08:09 |
Автор вопроса: ![]() |
Есть классический файл от Уокенбаха, где есть возможность менять содержимое ListBox по событию OptionButton...
Private Sub obMonths_Click()
ListBox1.RowSource = "Лист1!Месяцы" End Sub Встала задача: когда выделение в ListBox доходит до конца - стереть содержимое ListBox и загрузить следующий диапазон. Попробовал сделать вариант с использованием события Private Sub ListBox1_Click()
If UserForm1.ListBox1.ListIndex = 14 Then UserForm1.ListBox1.RowSource = "" UserForm1.ListBox1.RowSource = "Лист1!A16:D30" ThisWorkbook.Sheets("Лист1").Range("I1").Value = "ПЕРЕХОД НА ВТОРОЙ ДИАПАЗОН" Else End If End Sub В итоге UserForm1.ListBox1.RowSource = ""
UserForm1.ListBox1.RowSource = "Лист1!A16:D30" - не работает А почему? |
Ответы | Всего ответов: 1 |
Номер ответа: 1 Автор ответа: ![]() ![]() Вопросов: 1 Ответов: 1 |
Профиль | Цитата | #1 | Добавлено: 26.10.09 19:10 |
Попробовал загружать через массив.
Но ... воз и ныне там... Private Sub СТЕРЕТЬ_ЛИСТБОКС()
With ListBox1 .Clear End With UserForm1.ListBox1.ListIndex = -1 End Sub Private Sub ЗАПОЛНИТЬ_ЛИСТБОКС() ZZZ = ThisWorkbook.Sheets("Лист1" ![]() ![]() Dim dataS1(1 To 15, 1 To 4) For i = 1 To 15 For j = 1 To 4 dataS1(i, j) = Worksheets("Лист1" ![]() Next j Next i ListBox1.ColumnCount = 4 With ListBox1 .List = dataS1 End With UserForm1.ListBox1.ListIndex = 1 End Sub Private Sub ListBox1_Click() ' ЕСЛИ опустить ВЫДЕЛЕНИЕ В ListBox в самый низ, то должно запуститься ' заполнение ListBox1 через массив If UserForm1.ListBox1.ListIndex = 14 Then 'ЭТА ПРОЦЕДУРА ЗАПУСКАЕТСЯ (ЛИСТБОКС ОЧИЩАЕТСЯ) СТЕРЕТЬ_ЛИСТБОКС 'А ЭТА НЕ ЗАПУСКАЕТСЯ... ЗАПОЛНИТЬ_ЛИСТБОКС ThisWorkbook.Sheets("Лист1" ![]() ![]() ![]() ![]() Else End If End Sub Так что делать то, Уоккенбаха напрягать? |
Страница: 1 |
|