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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<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!