12.08.2013 Views

Kodune töö – VBA ja kasutaja defineeritud funktsioonid

Kodune töö – VBA ja kasutaja defineeritud funktsioonid

Kodune töö – VBA ja kasutaja defineeritud funktsioonid

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!