/ / Екцел ВБА Мултицолумн Цомбо Бок

Екцел ВБА Мултицолумн Цомбо Бок

У наставку ћемо погледати програм Екцел ВБА који креира Усерформ који садржи а вишенаменска комбинирана кутија.

Кориснички облик који ћемо креирати изгледа овако:

Мултицолумн Цомбо Бок у Екцел ВБА

Да бисте креирали овај Усерформ, извршите следеће кораке.

1. Отворите Висуал Басиц Едитор. Ако Пројецт Екплорер није видљив, кликните Виев, Пројецт Екплорер.

2. Кликните на Инсерт, Усерформ. Ако се Тоолбок не појави аутоматски, кликните Виев, Тоолбок. Ваш екран треба да буде подешен као доле.

Усерформ Сцреен Сетуп у Екцел ВБА

3. Додајте етикету, комбинацију и командне дугмад. Када ово буде завршено, резултат мора бити у складу са приказом корисничког образца који је приказан раније. На пример, креирајте контролу комбиноване кутије кликом на ЦомбоБок из алатке. Затим можете превући комбинацију на Усерформ.

4. Можете променити имена и називе контрола. Имена се користе у Екцел ВБА коду. Написи су они који се појављују на вашем екрану. Добра је пракса да промените имена контрола, али овде није неопходно, јер у овом примеру имамо само неколико контрола. Да бисте променили ознаку Усерформ, ознаке и командне дугмади, кликните Виев, Пропертиес Виндов и кликните на сваку контролу.

5. Да бисте приказали Усерформ, ставите командно дугме на свој радни лист и додајте следећу линију кода:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Сада ћемо креирати Суб УсерФорм_Инитиализе. Када користите методу Схов за Усерформ, овај суб ће аутоматски бити извршен.

6. Отворите Висуал Басиц Едитор.

7. У Пројецт Екплорер-у кликните десним тастером миша на УсерФорм1 и кликните на Виев Цоде.

8. Из падајуће листе изаберите ставку Усерформ. Изаберите Инитиализе са десне падајуће листе.

9. Додајте следеће линије кода:

Private Sub UserForm_Initialize()

ComboBox1.ColumnCount = 2

Dim Films(1 To 5, 1 To 2) As String
Dim i As Integer, j As Integer

Films(1, 1) = "Lord of the Rings"
Films(2, 1) = "Speed"
Films(3, 1) = "Star Wars"
Films(4, 1) = "The Godfather"
Films(5, 1) = "Pulp Fiction"

Films(1, 2) = "Adventure"
Films(2, 2) = "Action"
Films(3, 2) = "Sci-Fi"
Films(4, 2) = "Crime"
Films(5, 2) = "Drama"

ComboBox1.List = Films

End Sub

Објашњење: Прва линија кода поставља број колона у комбинацији на 2. На умјесто подешавања броја колона у радном времену, можете такођер конфигурисати ово подешавање у вријеме дизајна. Да бисте то остварили, десним тастером миша кликните на комбо поље контроле, кликните на Пропертиес (Својства) и поставите својство ЦолумнЦоунт на 2. Затим прогласимо и иницијализирамо дводимензионални низ. Последња линија кода додељује низ у комбиновану листу.

Сада смо направили први део Усерформ-а. Иако изгледа већ чисто, ништа се неће догодити када кликнемо на командне дугмад на Усерформу.

10. У Пројецт Екплорер-у двапут кликните на УсерФорм1.

11. Двапут кликните на дугме ОК.

12. Додајте следеће линије кода:

Private Sub CommandButton1_Click()

Unload Me

MsgBox "You selected " & ComboBox1.Value

On Error Resume Next
MsgBox "You like " & ComboBox1.Column(1) & " movies"

End Sub

Белешка: ове линије кода затварају Екцел ВБА Усерформ и приказују изабрану ставку и жанр. Изјава "Он Еррор Ресуме Нект" игнорише грешку када корисник попуни сопствени филм (у овом случају нема доступног жанра).

13. Двапут кликните на дугме Откажи.

14. Додајте следећу линију кода:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Резултат када изаберете Брзина и кликните ОК.

Мултицолумн Цомбо Бок Резултат

Мултицолумн Цомбо Бок Резултат

Такође прочитајте: