/ / Excel колекция VBA контроли

Колекция VBA за управление на Excel

При създаване на Userforms в Excel VBA, можете да използвате Контрол събиране лесно да пресече контролите и да зададе свойството на всеки контрол на определена стойност.

Потребителската форма, която ще създадем, изглежда така:

Събиране на контроли в Excel VBA

За да създадете този Userform, изпълнете следните стъпки:

1. Отворете редактора на Visual Basic. Ако Explorer на проекта не е видим, щракнете върху Преглед, Проект Explorer.

2. Щракнете върху Вмъкване, Потребител. Ако Toolbox не се покаже автоматично, кликнете върху View, Toolbox. Вашият екран трябва да бъде настроен, както е описано по-долу.

Настройка на потребителския екран в Excel VBA

3. Добавете етикета, текстовите полета (първо отгоре, втората под първата и т.н.) и команден бутон. След като това бъде завършено, резултатът трябва да съответства на картината на потребителския формат, показан по-рано. Например, създайте контрол на текстовото поле, като кликнете върху Текстова кутия от кутията с инструменти. След това можете да плъзнете текстово поле в Userform.

4. За да промените надписа на Userform, етикета и командния бутон, щракнете върху View, Properties Window и щракнете върху всеки контролен панел.

5. За да покажете Userform, поставете командния бутон на работния лист и добавете следния ред:

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

Обяснение: чрез добавяне на vbModeless можете едновременно да използвате Userform и да работите във вашия работен лист.

Вече създадохме първата част от Userform. Въпреки че вече изглежда чист, нищо няма да се случи, когато щракнете върху командния бутон на Userform.

6. Отворете редактора на Visual Basic.

7. В Project Explorer кликнете два пъти върху UserForm1.

8. Кликнете два пъти върху командния бутон.

9. Добавете следните кодови редове:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10
    Controls("TextBox" & i).Value = Cells(i + 1, 1).Value
Next i

End Sub

Обяснение: Само с няколко реда код можем да запълним текстовите полета с телефонните номера от листа. Използвахме & оператора за свързване на елементите. Тези кодови линии работят, защото не сменихме имената на контролите на текстовите полета (TextBox1, TextBox2, TextBox3 и др.) За да промените имената на контролите, щракнете върху Преглед, Прозорец със свойства и щракнете върху всеки контролен панел.

Резултат, когато кликнете върху командния бутон на листа:

Резултати от събирането на контроли

Също така се чете: