Function keskmine(arv1, arv2) keskmine = (arv1 + arv2) / 2 End Function Function käibemaks(letihind) kaupmehele = letihind / 1.18 käibemaks = kaupmehele * 0.18 End Function 'Lubage käibemaksu protsent määrata valikulise parameetriga Function käibemaks2(letihind, Optional protsent = 18) kaupmehele = letihind / (1 + protsent / 100) käibemaks2 = Round(kaupmehele * (protsent / 100), 2) End Function Function plaadidReas(seinapikkus, Optional plaadipikkus = 0.5) abi = seinapikkus / plaadipikkus If Int(abi) < abi Then abi = Int(abi) + 1 plaadidReas = abi End Function Function plaadidLaes(sein1, sein2) plaadidLaes = plaadidReas(sein1, 0.7) * plaadidReas(sein2) End Function ' Funktsiooni võtab temperatuuri ' Väljastab, kas on soe, külm või paras Function tempHinnang(temperatuur) If Not IsNumeric(temperatuur) Then tempHinnang = "Vigane sisestus" Exit Function End If If Len(temperatuur) = 0 Then tempHinnang = "andmed puuduvad" Exit Function End If If temperatuur > 25 Then tempHinnang = "Palav" ElseIf temperatuur > 10 Then tempHinnang = "Paras" Else tempHinnang = "Jahe" End If End Function Function summa(lahtriplokk) s = 0 For Each arv In lahtriplokk s = s + arv Next arv summa = s End Function 'leidke arvude korrutis Function korrutis(lahtriplokk) k = 1 For Each arv In lahtriplokk k = k * arv Next arv korrutis = k End Function Function geomeetriline_keskmine(lahtriplokk) k = 1 For Each arv In lahtriplokk k = k * arv Next arv geomeetriline_keskmine = k ^ (1 / lahtriplokk.Count) End Function Function summa2(lahtriplokk, ParamArray yksikud() As Variant) s = 0 For Each arv In lahtriplokk s = s + arv Next arv For Each arv In yksikud s = s + arv Next arv summa2 = s End Function Sub tekst1() lause = "tere tulemast kooli" osa = Mid(lause, 10, 4) MsgBox osa End Sub Sub tekst2() lause = "tere tulemast kooli" alguskoht = InStr(lause, "tule") MsgBox alguskoht MsgBox Mid(lause, alguskoht) 'alguskohast kuni lõpuni End Sub Sub tekst3() kogus = 0 lause = "Tere tulemast kooli" For nr = 1 To Len(lause) If Mid(lause, nr, 1) = "t" Then kogus = kogus + 1 Next nr MsgBox kogus MsgBox UCase(lause) 'suured tähed MsgBox LCase(lause) 'väikesed tähed MsgBox Replace(lause, "t", "d") 'asendab t d-ga End Sub Function esitaht(eesnimi) esitaht = Mid(eesnimi, 1, 1) End Function Function eesnimiKorda(eesnimi) eesnimiKorda = UCase(Mid(eesnimi, 1, 1)) & LCase(Mid(eesnimi, 2)) End Function Function leiaEesnimi(tekst) leiaEesnimi = Mid(tekst, 1, InStr(tekst, " ") - 1) End Function Function leiaPerekonnanimi(tekst) leiaPerekonnanimi = Mid(tekst, InStr(tekst, " ") + 1) End Function Function koguNimiKorda(tekst) koguNimiKorda = eesnimiKorda(Trim(leiaEesnimi(tekst))) & " " & _ eesnimiKorda(Trim(leiaPerekonnanimi(tekst))) End Function Function isikukoodistAeg(isikukood) isikukoodistAeg = DateSerial(Val("19" & Mid(isikukood, 2, 2)), _ Mid(isikukood, 4, 2), Mid(isikukood, 6, 2)) End Function Function isikukoodistNadalapaev(isikukood) isikukoodistNadalapaev = _ nädalapäevaNimi( _ Weekday(isikukoodistAeg(isikukood), vbMonday)) End Function Function nädalapäevaNimi(päevanr) päevad = Array("", "esmaspäev", "teisipäev", _ "kolmapäev", "neljapäev", _ "reede", "laupäev", "pühapäev") nädalapäevaNimi = päevad(päevanr) End Function Function koodikontroll(isikukood) If Not Len(isikukood) = 11 Or Not IsNumeric(isikukood) Then koodikontroll = False Exit Function End If kordajad = Array("", 1, 2, 3, 4, 5, 6, 7, 8, 9, 1) s = 0 For i = 1 To 10 s = s + Mid(isikukood, i, 1) * kordajad(i) Next i jaak = s Mod 11 If jaak = 10 Then kordajad = Array("", 3, 4, 5, 6, 7, 8, 9, 1, 2, 3) s = 0 For i = 1 To 10 s = s + Mid(isikukood, i, 1) * kordajad(i) Next i jaak = s Mod 11 End If If Int(Mid(isikukood, 11, 1)) = Int(jaak) Then koodikontroll = True Else koodikontroll = False End If End Function Sub avaArvutusVorm() UserForm1.Show False 'lubab vormi avatuna olles ka muud teha End Sub ______________ 'Vorm1 Private Sub CommandButton1_Click() TextBox2 = Str(Val(TextBox1) * 2.54) End Sub 'Lisa nupp ka teistpidiseks arvutuseks Private Sub CommandButton2_Click() TextBox1 = Str(Val(TextBox2) / 2.54) End Sub Private Sub CommandButton3_Click() Me.Hide End Sub ___________ ' vorm2 Private Sub lisamisnupp_Click() Dim leht As Worksheet Set leht = Sheet3 If Len(tbEesnimi) = 0 Then MsgBox "Eesnimi puudub" tbEesnimi.SetFocus 'viskab kursori sinna Exit Sub End If If Not koodikontroll(tbIsikukood) Then MsgBox "Vigane isikukood" tbIsikukood.SetFocus Exit Sub End If reanr = 1 While Len(leht.Cells(reanr, 1)) > 0 reanr = reanr + 1 Wend leht.Cells(reanr, 1) = tbEesnimi leht.Cells(reanr, 2) = tbPerenimi leht.Cells(reanr, 3) = tbIsikukood tbEesnimi = "" tbPerenimi = "" tbIsikukood = "" End Sub Private Sub otsimisnupp_Click() Dim leht As Worksheet Set leht = Sheet3 reanr = 1 While Len(leht.Cells(reanr, 1)) > 0 If leht.Cells(reanr, 1) = tbEesnimi Then leht.Rows(reanr).Hidden = False Else leht.Rows(reanr).Hidden = True End If reanr = reanr + 1 Wend End Sub Private Sub tagasi_Click() Dim leht As Worksheet Set leht = Sheet3 leht.Rows.Hidden = False End Sub