/ / Екцел ВБА Усерформ са више страница

Екцел ВБА Усерформ са више страница

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

Мултипаге Цонтрол садржи две странице. На страници 1, корисник може попунити своје личне податке. На страници 2, корисник може показати коју слику највише воли.

Усерформ Паге 1
Усерформ Паге 2

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

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

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

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

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

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

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

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

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

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

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

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

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

Private Sub UserForm_Initialize()

With ListBox1
    .AddItem "Mountains"
    .AddItem "Sunset"
    .AddItem "Beach"
    .AddItem "Winter"
End With

End Sub

Објашњење: поље пописа на страници 2 ће се попунити.

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

10. Преузмите слике (десну страну ове странице) и додајте их у "Ц: тест"

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

12. Двапут кликните на оквир са листом.

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

Private Sub ListBox1_Click()

If ListBox1.ListIndex = 0 Then
    Image1.Picture = LoadPicture("C:testMountains.jpg")
End If

If ListBox1.ListIndex = 1 Then
    Image1.Picture = LoadPicture("C:testSunset.jpg")
End If

If ListBox1.ListIndex = 2 Then
    Image1.Picture = LoadPicture("C:testBeach.jpg")
End If

If ListBox1.ListIndex = 3 Then
    Image1.Picture = LoadPicture("C:testWinter.jpg")
End If

End Sub

Објашњење: ове линијске шифре учитавају слику у зависности од изабране ставке у оквири листе.

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

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

Private Sub CommandButton1_Click()

Dim emptyRow As Long

"Make Sheet1 active
Sheet1.Activate

"Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

"Transfer information
Cells(emptyRow, 1).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value

If OptionButton1.Value = True Then
    Cells(emptyRow, 3).Value = "Male"
Else
    Cells(emptyRow, 3).Value = "Female"
End If

Cells(emptyRow, 4).Value = ListBox1.Value

"Close Userform
Unload Me

End Sub

Објашњење: прво, активирамо Схеет1. Затим, одредимо празну руку. Варијабла емптиРов је први празан ред и повећава се сваки пут када се дода запис. Затим, преносимо податке из Усерформ-а у одређене ступце емптиРов. Коначно, затворимо Усерформ.

16. Изађите из Висуал Басиц Едитор-а, унесите етикете приказане испод у ред 1 и тестирајте Усерформ.

Резултат:

Тестирајте Усерформ

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