/ / Цурренци Цонвертер у Екцел ВБА

Конвертор валута у Екцел ВБА

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

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

Конвертор валута у Екцел ВБА

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

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 "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

With ListBox2
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

ListBox1.ListIndex = 1
ListBox2.ListIndex = 0

TextBox1.Value = 1
TextBox2.Value = 0.722152

End Sub

Објашњење: прво, попуњена су два поља са листама. Затим, валута УС Доллар је постављена као подразумевано у првом кварту са листама, а ЕУРО валута је постављена као подразумевана у другом кварту са листама. Најзад, вредност 1 се уноси у прво поље за текст и вриједност 0.722152 се уноси у другу текстуално поље.

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

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

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

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

Private Sub CommandButton1_Click()

Dim rates(0 To 2, 0 To 2) As Double, i As Integer, j As Integer

rates(0, 0) = 1
rates(0, 1) = 1.38475
rates(0, 2) = 0.87452

rates(1, 0) = 0.722152
rates(1, 1) = 1
rates(1, 2) = 0.63161

rates(2, 0) = 1.143484
rates(2, 1) = 1.583255
rates(2, 2) = 1

For i = 0 To 2
    For j = 0 To 2
        If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value * rates(i, j)
    Next j
Next i

End Sub

Објашњење: Прво, објављујемо низ. Низ има две димензије. Састоји се од 3 реда и 3 колоне. Затим иницијализирамо сваки елемент матрице. На пример, стопе (1,0) су курсна листа од америчког долара до евра. Затим започнемо двоструку петљу. У зависности од изабраних валута у пољима листе, Екцел ВБА конвертује количину унета у прво поље за текст и приказује резултат у другом текстуалном пољу.

Пример: ако је и = 2 и ј = 1 и уносимо вредност 2 у првом текстуалном пољу, Екцел ВБА ставља вредност 2 * стопе (2,1) = 2 * 1.583255 = 3.16651 у другом текстуалном пољу.

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

Резултат:

Конвертор валута Резултат

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