Страница: 1 |
Страница: 1 |
Вопрос: ListBox-Как организовать загрузку нового RowSource
Добавлено: 25.10.09 08:09
Автор вопроса: Dan
Есть классический файл от Уокенбаха, где есть возможность менять содержимое ListBox по событию OptionButton...
ListBox1.RowSource = "Лист1!Месяцы"
End Sub
Встала задача: когда выделение в ListBox доходит до конца - стереть содержимое ListBox и загрузить следующий диапазон.
Попробовал сделать вариант с использованием события
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 = "Лист1!A16:D30"
- не работает
А почему?
Ответы
Всего ответов: 1
Номер ответа: 1
Автор ответа:
Dan
Вопросов: 1
Ответов: 1
Профиль | | #1
Добавлено: 26.10.09 19:10
Попробовал загружать через массив.
Но ... воз и ныне там...
With ListBox1
.Clear
End With
UserForm1.ListBox1.ListIndex = -1
End Sub
Private Sub ЗАПОЛНИТЬ_ЛИСТБОКС()
ZZZ = ThisWorkbook.Sheets("Лист1".Range("F1".Value
Dim dataS1(1 To 15, 1 To 4)
For i = 1 To 15
For j = 1 To 4
dataS1(i, j) = Worksheets("Лист1".Cells(i + ZZZ, j)
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".Range("F1".Value = ThisWorkbook.Sheets("Лист1".Range("F1".Value + 14
Else
End If
End Sub
Так что делать то, Уоккенбаха напрягать?