Excel 2010
Úkolem je naprogramovat makro ve Visual Basic, které po stisknutí daného tlačítka vykoná operaci součet, rozdíl, násobení a dělení nad dvěma čísly, které usou zadány v textboxu a výsledek vypsat do buňky v Excelu.
Při umísťování ovládacích prvků TextBox a tlačítek jsem volila ovládací prvky ActiveX, a to jak pro prvky TextBox (textové pole), tak CommandButton (příkazové tlačítko).
Součástí programu je ošetření uživatelského vstupu pomocí funkce. Funkce zároveň převede hodnoty na číslo a předá je zpět formou reference. Ošetření vstupních hodnot by šlo udělat i jiným způsobem.
Zdrojový kód Visual Basic for Applications
' Funkce zkontroluje vstupni hodnoty v TextBoxA a TextBoxB - zda jde o cisla. ' Prevede vstupni hodnoty na typ double a vrati je jako referencni promenne. Function KontrolaVstupu(ByRef A, B As Double) As Boolean A = 0 B = 0 If Not IsNumeric(TextBoxA.Text) Then MsgBox "Musíte zadat správně číslo A!", vbExclamation KontrolaVstupu = False ElseIf Not IsNumeric(TextBoxB.Text) Then MsgBox "Musíte zadat správně číslo B!", vbExclamation KontrolaVstupu = False Else ' vstup je spravny A = CDbl(TextBoxA.Text) B = CDbl(TextBoxB.Text) KontrolaVstupu = True End If End Function Private Sub CommandButtonDeleni_Click() Dim A, B As Double If KontrolaVstupu(A, B) Then If B = 0 Then MsgBox " Nulou nelze dělit! Musíte zadat správně číslo B!", vbExclamation Range("C18").Value = "" Else Range("C18").Value = A / B End If Else Range("C18").Value = "" End If End Sub Private Sub CommandButtonNasobeni_Click() Dim A, B As Double If KontrolaVstupu(A, B) Then Range("C18").Value = A * B Else Range("C18").Value = "" End If End Sub Private Sub CommandButtonRozdil_Click() Dim A, B As Double If KontrolaVstupu(A, B) Then Range("C18").Value = A - B Else Range("C18").Value = "" End If End Sub Private Sub CommandButtonSoucet_Click() Dim A, B As Double If KontrolaVstupu(A, B) Then Range("C18").Value = A + B Else Range("C18").Value = "" End If End Sub