[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ohjelmistot]Makrosta!



> Hei!
> Olen koettanut nauhoittaa makroa, jossa InputBoxin avulla uudelle
> kilpailijalle (lisää kilpailija idealla) voi antaa erilaisia pisteitä ja
> suoritukseen kuluvan ajan, joiden perusteella tietyssä solussa olevat
> funkitiot laskevat kilpailijalle ns. kokonaispisteet. Makro toimii mainiosti
> muuten mutta kun ajan syöttää lokeroon "Anna aika" niin aika tulee
> solun vasempaan laitaan (muuten muissa soluissa ja käsin syötettyinä oikeassa
> laidassa) ja soluihin joihin pitäisi tulla automaattisesti funkitioiden
> avulla lasketut pisteet kulutetusta ajasta ja kokonaispisteistä, ts.
> solut joissa on funktioita, antavat virheilmoituksen uuden kilpailijan
> kohdalle.

Yritin tehdä tuollaisen makron joka lisää aikoja inputboxin avulla, ja
ainakin minulla se toimi ihan hyvin. Laitoin verkkoon tuon pienen
esimerkin osoitteeseen
http://www.cc.jyu.fi/~mylmikk/ohjelmistot/ohjaus/aika.xls
Voisikohan tuo ongelma olla tuossa funktiossa joka käsittelee aikaa?
Aika täytyy siis syöttää muodossa t:mm:ss vaikka muotoilu onkin solussa
mm:ss,0. Jos syötät esim 12:00 tulkitaan tuo ajaksi 12:00:00 eli 12
tuntia.

> Millaista muotoa oikeellisuustarkastuksiin tarkoitettujen funktioiden
> pitäisi olla? Jokin esim. olisi mukava, koska olen koittanut joitakin
> tapoja mutta ne eivät ole olleet toimivia ja olen ehkä ymmärtäyt asian
> väärin tai tehnyt jatkuvasti jonkin saman virheen...

Laitoin tuohon samaan dokumenttiin tuostakin esimerkin. Tarkastukset tulee
siis olla sellaisia, että soluihin ei tulisi missään vaiheessa esim arvoa
#N/A. Tämä saadaan poistettua käyttämällä esim. if lausetta ja jotain
solun arvoa tutkailevaa funktiota yhdessä. Esimerkissä on tuotetaulu ja
solussa b10 vlookup lause joka hakee tuotteen hinnan tuotetaulusta solun
a10 arvon perusteella. Nyt jos a10 soluun annetaan arvo jota ei löydy
tuotetaulusta, niin if lause estää #N/A virheen näyttämisen. If lause on
muotoa
IF(ISNA(VLOOKUP(A10;A1:C5;3;FALSE));"ei tuotetta";VLOOKUP(A10;A1:C5;3;FALSE))
eli tutkitaan antaako vlookup arvon #N/A, jos antaa niin tulostetaan "ei
tuotetta", jos ei anna arvoa #N/A niin tulostetaan vlookupin antama arvo.

-- 
Mikko Myllymäki <mylmikk@st.jyu.fi>
Puh:		(040) 8433230
Osoite:		Ruukintie 19 B 6
		41160 TIKKAKOSKI

-- send "unsubscribe ohjelmistot" to majordomo@cc.jyu.fi to unsubscribe ---