Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: ListBox-Как организовать загрузку нового RowSource Добавлено: 25.10.09 08:09  

Автор вопроса:  Dan
Есть классический файл от Уокенбаха, где есть возможность менять содержимое 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
Автор ответа:
 Dan



Вопросов: 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";).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


Так что делать то, Уоккенбаха напрягать?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам