Kodune töö – VBA ja kasutaja defineeritud funktsioonid
Kodune töö – VBA ja kasutaja defineeritud funktsioonid
Kodune töö – VBA ja kasutaja defineeritud funktsioonid
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Kodune</strong> <strong>töö</strong> <strong>–</strong> <strong>VBA</strong> <strong>ja</strong> kasuta<strong>ja</strong> <strong>defineeritud</strong> <strong>funktsioonid</strong><br />
Alusta uut <strong>töö</strong>raamatut <strong>ja</strong> salvesta Macro Enabled (Makrotoega) <strong>töö</strong>raamatuna. Faili nimeks<br />
anna: <strong>VBA</strong>_<strong>funktsioonid</strong>_eesnimi_perenimi.xlsm<br />
Ülesanne 1. Koosta kaks funktsiooni: kera ruumala V ning kera sfääri pindala S arvutamiseks.<br />
1. Koosta <strong>funktsioonid</strong> kera ruumala <strong>ja</strong><br />
pindala arvutamiseks <strong>VBA</strong> editoris. Lisa<br />
mõlemale funktsioonile kommentaarina<br />
selgitus, mida see funktsioon teeb<br />
2. Nimeta <strong>töö</strong>raamatu esimene <strong>töö</strong>leht<br />
nimega Kera.<br />
3. Genereeri <strong>töö</strong>lehele kera raadiused<br />
juhuslike väärtustena ning arvuta oma<br />
<strong>defineeritud</strong> <strong>funktsioonid</strong>e abil kera<br />
ruumala <strong>ja</strong> sfääri pindala.<br />
Ülesanne 2. Kirjelda, mida see funktsioon teeb.<br />
Function OnAlgarv(arv As Integer) As Boolean<br />
Dim i As Integer<br />
i = 2<br />
OnAlgarv = True<br />
Do<br />
If arv / i = Int(arv / i) Then<br />
OnAlgarv = False<br />
End If<br />
i = i + 1<br />
Loop While i < arv And OnAlgarv = True<br />
End Function<br />
Riina Reinumägi 1 Sügis2012
<strong>Kodune</strong> <strong>töö</strong> <strong>–</strong> <strong>VBA</strong> <strong>ja</strong> kasuta<strong>ja</strong> <strong>defineeritud</strong> <strong>funktsioonid</strong><br />
1. Kopeeri funktsiooni kood <strong>töö</strong>raamatusse<br />
<strong>VBA</strong>_<strong>funktsioonid</strong>_eesnimi_perenimi.xlsm<br />
2. Lisa funktsiooni algusesse kommentaarina<br />
kirjeldus, mida see funktsioon teeb<br />
3. Kommenteeri koodis igat sammu, mida sellel<br />
sammul tehakse<br />
4. Anna ühe <strong>töö</strong>lehe nimeks algarv ning genereeri<br />
<strong>töö</strong>lehele juhuslikud täisarvud vahemikus 1 kuni<br />
100‐ni. Juhusliku väärtuse genereerimiseks<br />
kasuta RANDBETWEEN funktsiooni.<br />
5. Kasuta funktsiooni sellel <strong>töö</strong>lehel.<br />
Ülesanne 3. Number sõnadeks. Koosta funktsioon, mis kirjutab<br />
täisarvud 1 kuni 10 sõnadega (Üks, kaks, kolm jne). Kui number<br />
on üle kümne, siis funktsioon kirjutab "üle kümne ei oska" vms.<br />
Funktsiooni loomisel kasuta Select Case lauset. Numbrid üle 10<br />
kirjuta Case Else lausesse.<br />
Nimeta <strong>töö</strong>raamatu üks leht nimega Number sõnadeks.<br />
Genereeri juhuslikud täisarvud vahemikus 1 kuni 20 ning kasuta<br />
loodud funktsiooni.<br />
Ülesanne 4.<br />
1) Defineeri funktsioon, mis arvutab kui suur on va<strong>ja</strong>lik energiahulk J (dzaulides) erinevate<br />
ainete temperatuuri tõstmiseks (näiteks vask, raud, alumiinium, vesi vms vähemalt kolm<br />
erinevat ainet). Energia ehk soojushulk arvuta valemiga:<br />
Q = c*m*( t²‐ t¹)<br />
Kus Q <strong>–</strong> on soojushulk, c <strong>–</strong> aine erisoojus, m <strong>–</strong> mass, t² <strong>–</strong> lõpptemperatuur, t¹ <strong>–</strong><br />
algtemperatuur. Aine, mass, lõpptemperatuur <strong>ja</strong> algtemperatuur on muutu<strong>ja</strong>d, soojushulk<br />
on funktsiooni arvutustulemus. Aine erisoojus on samuti muut<strong>ja</strong>, kuid see sõltub ainest<br />
(ainete erisoojused võta järgmise lk tabelist või otsi veebist).<br />
Aine erisoojuse defineerimiseks kasuta Select Case lauset:<br />
Riina Reinumägi 2 Sügis2012
<strong>Kodune</strong> <strong>töö</strong> <strong>–</strong> <strong>VBA</strong> <strong>ja</strong> kasuta<strong>ja</strong> <strong>defineeritud</strong> <strong>funktsioonid</strong><br />
Näiteks:<br />
Dim Erisoojus as Single<br />
Select Case (Aine)<br />
Case "vesi"<br />
EriSoojus = 4.19<br />
jne<br />
Aine vői mater<strong>ja</strong>l<br />
2) Nimeta üks <strong>töö</strong>raamatu <strong>töö</strong>lehtedest nimega Erisoojus. Sisesta <strong>töö</strong>lehele juhuslikud<br />
algandmed: aine, mass, alg‐ <strong>ja</strong> lõpptemperatuurid ning arvuta <strong>defineeritud</strong> funktsiooni abil<br />
temperatuuri tõstmiseks va<strong>ja</strong>lik soojushulk.<br />
Saada <strong>töö</strong>raamat e‐maili teel aadressile riinarein@gmail.com<br />
Erisoojus<br />
kJ/kg∙K<br />
Vesi 4,190 1,00<br />
Jää 2,093 0,50<br />
Piim 3,936 0,94<br />
Raud 0,502 0,12<br />
Rasv 0,670 0,16<br />
Kummi 1,424 0,34<br />
Piiritus (etanool) 2,428 0,58<br />
Őhk 1,005 0,24<br />
Masinaőli 1,675 0,40<br />
Erisoojus<br />
kcal/kg∙K<br />
Bensiin 2,093 0,50<br />
Riina Reinumägi 3 Sügis2012