KehaIndeks && Bioriitmid

Sub Kehalndeks() Dim kaal As Double Dim pikkus_cm As Double Dim pikkus_m As Double Dim kmi As Double Dim tagasiside As String Dim vanus As Integer Dim sugu As String kaal = Application.InputBox(“Sisesta oma kaal kilogrammides:”, “Kehamassiindeks”, Type:=1) If kaal <= 0 Then MsgBox "Vale kaal! Proovi uuesti.", vbExclamation Exit Sub End If pikkus_cm = Application.InputBox("Sisesta oma pikkus sentimeetrites:", "Kehamassiindeks", Type:=1) If pikkus_cm <= 0 Then MsgBox "Vale pikkus! Proovi uuesti.", vbExclamation Exit Sub End If vanus = Application.InputBox("Sisesta oma vanus:", "Kehamassiindeks", Type:=1) If vanus <= 0 Then MsgBox "Vale vanus! Proovi uuesti.", vbExclamation Exit Sub End If sugu = Application.InputBox("Sisesta oma sugu (M või N):", "Kehamassiindeks", Type:=2) sugu = UCase(Trim(sugu)) If sugu <> “M” And sugu <> “N” Then MsgBox “Vale sugu! Kasuta M või N.”, vbExclamation Exit Sub End If pikkus_m = pikkus_cm / 100 kmi = kaal / (pikkus_m * pikkus_m) kmi = Round(kmi, 1) If kmi < 19 Then tagasiside = "Alakaal. Teatud alakaal ei ole iseenesest ohtlik, kuid võib põhjustada terviseriske." ElseIf kmi >= 19 And kmi <= 24.9 Then tagasiside = "Normaalkaal. Soovitame hoida oma kaalu selles tervislikus vahemikus." ElseIf kmi >= 25 And kmi <= 29.9 Then tagasiside = "Ülekaal. Sul on oht haigestuda ülekaalust tingitud haigustesse nagu diabeet ja südamehaigused." ElseIf kmi >= 30 Then tagasiside = “Rasvumine. Suur risk südamehaigusteks ja diabeediks. Soovitame tõsiselt oma kaalu vähendada.” End If Dim indeks_min As Double, indeks_max As Double Select Case vanus Case 19 To 24 indeks_min = 19: indeks_max = 24 Case 25 To 34 indeks_min = 20: indeks_max = 25 Case 35 To 44 indeks_min = 21: indeks_max = 26 Case 45 To 54 indeks_min = 22: indeks_max = 27 Case 55 To 64 indeks_min = 23: indeks_max = 28 Case Is >= 65 indeks_min = 24: indeks_max = 29 Case Else indeks_min = 19: indeks_max = 24 End Select Dim sugukoef As Double If sugu = “N” Then sugukoef = 1 Else sugukoef = 1 End If Dim kokku As String kokku = “Sinu kehamassiindeks (KMI) on ” & kmi & ” kg/m².” & vbCrLf & vbCrLf kokku = kokku & “Üldine hinnang: ” & tagasiside & vbCrLf & vbCrLf kokku = kokku & “Vanuse järgi on normiks ” & indeks_min & ” kuni ” & indeks_max & “.” & vbCrLf If kmi < indeks_min Then kokku = kokku & "Sinu KMI on vanuse järgi veidi madal." ElseIf kmi > indeks_max Then kokku = kokku & “Sinu KMI on vanuse järgi veidi kõrge.” Else kokku = kokku & “Sinu KMI on vanuse järgi normis.” End If MsgBox kokku, vbInformation, “Kehamassiindeks” End Sub

BIoreiitmid

Function BioDay(birthDate As Date, cycleLength As Integer) As Integer Dim today As Date Dim ageInDays As Integer today = Date ageInDays = today – birthDate BioDay = ageInDays Mod cycleLength End Function Sub ShowBioRhythms() Dim birthInput As String Dim birthDate As Date Dim physDay As Integer Dim emotDay As Integer Dim intelDay As Integer Dim msg As String birthInput = InputBox(“Sisesta oma sünnikuupäev (nt 01.01.2000):”, “Sünnikuupäev”) If IsDate(birthInput) Then birthDate = CDate(birthInput) physDay = BioDay(birthDate, 23) emotDay = BioDay(birthDate, 28) intelDay = BioDay(birthDate, 33) msg = “Sinu tänased biortmide päevad:” & vbCrLf & vbCrLf msg = msg & “Füüsiline tsükkel (23p): ” & physDay & IIf(physDay = 12, ” (KRIITILINE PÄEV HIHI!)”, “”) & vbCrLf msg = msg & “Emotsionaalne tsükkel (28p): ” & emotDay & IIf(emotDay = 15, ” (KRIITILINE PÄEV HAHA!)”, “”) & vbCrLf msg = msg & “Intellektuaalne tsükkel (33p): ” & intelDay & IIf(intelDay = 17, ” (KRIITILINE PÄEV HOHO!)”, “”) & vbCrLf Dim negCount As Integer negCount = 0 If physDay >= 12 Then negCount = negCount + 1 If emotDay >= 14 Then negCount = negCount + 1 If intelDay >= 16 Then negCount = negCount + 1 If negCount >= 2 Then msg = msg & vbCrLf & “?? HOIATUS: Vähemalt kaks tsüklit on negatiivses faasis või kriitilised!” & vbCrLf & _ “Ole täna eriti ettevaatlik.” End If MsgBox msg, vbInformation, “Biortmide tulemused” Else MsgBox “Palun sisesta korrektne kuupäev!”, vbExclamation, “Vigane sisend” End If End Sub