|
Тема |
Re: TextBox - Forma [re: intermaniq] |
|
Автор |
Щиpлиц (разузнавач) |
|
Публикувано | 18.09.08 22:57 |
|
|
Ок, значи да се върнем малко назад в програмирането, и да се научим що са то "събития", и с какво се то ядат. ;о)
Събитието се случва, когато стане нещо с някой визуален контрол. Може и с невизуален, но до ООП (обектно ориентирано програмиране) няма да стигнем скоро... Та така, ние имаме във формата комбо-бокс, текст бокс, самата форма също е контрол... Може да имаме много контроли, и с всеки от тях да се случва нещо различно. Събитие е, когато кликнеш с мишката върху бутон. Именно това събитие ние обработвахме в предишните примери, които ти писах. Command1_Click(). Може да изберем и друго събитие Command1_MouseMove()... Т.е. дори когато минаваш с мишката върху някой контрол - се случват събития. Кода, който искаш да се изпълни - го слагай в правилното събитие, на което при настъпването му - ще се изпълни тази част от програмния код.
В предишните случаи на теб ти трябваше текстовете да се прехврърлят, когато натиснеш бутон. Но сега ти трябва още с отварянето на формата - в нея да има комбо-бокс, и в него пък - текстове. ;о) Ок, но тогава трябва още с отварянето на формата - да пълним комбо-бокса с тези тексове, за да се появят там... Събитието е UserForm_Initialize().
Private Sub UserForm_Initialize()
'Дефиниране на променлива за брояча
Dim Row As Long
'Установяване на брояча на първия ред от данните
Row = 1
'Изчистване на стари данни в комбо-бокса
ComboBox1.Clear
'Стартиране на цикъл, който се повтаря, докато има
'данни в реда, на който е установен брояча
Do While Worksheets("Sheet1").Range("A" & Row) <> ""
'Прехвърляне на данните от таблицата в комбо-бокса
ComboBox1.AddItem (Worksheets("Sheet1").Range("A" & Row))
'Увеличаване на брояча с 1-ца
Row = Row + 1
Loop
End Sub
И така, опитай по този начин, и да видим какво ще стане.
|
| |
|
|
|