/ / Екцел ВБА Депендент Цомбо кутије

Екцел ВБА Депендент Цомбо кутије

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

Корисник бира животиње са падајуће листе. Као резултат, корисник може изабрати животиње са друге падајуће листе.

Зависне Комбиниране кутије у Екцелу ВБА

Корисник бира Спорт из падајуће листе. Као резултат, корисник може изабрати спорт из друге падајуће листе.

Зависне Комбиниране кутије у Екцелу ВБА

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

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

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

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

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

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

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

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

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

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

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

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

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

Private Sub UserForm_Initialize()

With ComboBox1
    .AddItem "Animals"
    .AddItem "Sports"
    .AddItem "Food"
End With

End Sub

Објашњење: Ове линије кодова попуњавају прву комбинацију.

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

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

11. Двапут кликните на прву комбинацију.

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

Private Sub ComboBox1_Change()

Dim index As Integer
index = ComboBox1.ListIndex

ComboBox2.Clear

Select Case index
    Case Is = 0
        With ComboBox2
            .AddItem "Dog"
            .AddItem "Cat"
            .AddItem "Horse"
        End With
    Case Is = 1
        With ComboBox2
            .AddItem "Tennis"
            .AddItem "Swimming"
            .AddItem "Basketball"
        End With
    Case Is = 2
        With ComboBox2
            .AddItem "Pancakes"
            .AddItem "Pizza"
            .AddItem "Chinese"
        End With
End Select

End Sub

Објашњење: Екцел ВБА користи вредност индекса променљиве да би тестирао сваку наредну наредбу случаја да би видела са којим ставкама би требало попунити другу комбинацију. Прођите кроз наш програм Селецт Цасе како бисте сазнали више о структури Селецт Цасе.

13. Двапут кликните на дугме Импорт.

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

Private Sub CommandButton1_Click()

Range("A1").Value = ComboBox2.Value

End Sub

Резултат:

Зависне Комбиниране кутије у Екцелу ВБА

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