Vitsi ku menee hermot tän kaa ku ei oo mitää hajuu miss mättää...
Private Sub cmdpaina_Click() 'määritetään muuttujat Dim syntynmvuosi1 As Integer syntymävuosi = InputBox("anna syntymävuosi1") Dim syntymävuosi2 As Integer syntymävuosi = InputBox("anna syntymävuosi2") 'lasketaan vuodet vuosi = syntymävuosi1 - syntymävuosi2 'määritetään ikä If ikä And 18 Then MsgBox ("olet alaikäinen") End If If ikä And 20 Then MsgBox ("olet täysiikäinen") End If If ikä And 0 Then MsgBox ("ei syntynyt") End If If ikä And 150 Then MsgBox ("ei syntynyt") End If End Sub
Kun kirjoittaisi niihin syntymävuosiin kysymiskohdassakin numerot perään, että menisi muuttujien nimet oikein, niin voisi tulla oikeisiin muuttujiin luettua arvot. Sitä paitsi ensimmäisessä Dim-lauseessa on taar erilainen nimi muuttujalla.
Edelleenkin lasket erotuksen muuttujaan vuosi ja käytät vertailuissa muuttujaa ikä, vaikka olen siitä jo kaksi kertaa huomauttanut. Ja erotuksessa pitäisi varmaankin muuttaa tekstinä luetut asiat ensin luvuiksi Val-funktiolla (käytä hakua). Mutta en tuota InputBoxia tunne, joten tässä voin erehtyäkin.
Varmaankin kannattaisi laittaa päälle se optioni, ettei määrittelemättömiä muuttujia voi käyttää.
Ennen kaikkea, lue koodisi läpi kirjain kirjaimelta ja korjaa typot! Minnekään ei pääse vain arvailemalla ja heittämällä satunnaisia muutoksia, kuten nuo And-operaatiot entisten vertailujen paikalla. Ne eivät nimittäin tuota haluttua tulosta.
Propsit harvinaisen kuvaavasta otsikosta. Varmasti menee hermot, muillakin kuin sinulla. Ottaisit suosiolla oppaan esille ja opettelisit itse hieman perusasioita ja koodin tarkistamisen taitoa.
No mie yritän vaikka oon täss koht melkein koko päivän yrittäny vääntää tätä koodia...:D
Niin, olen huomannut.
Teepä ihan niin yksinkertaisesti, että aloitat aivan alusta. Pyyhi koko tuo buginen roska pois, kirjoita vaihe kerrallaan kommentit, mitä pitäisi tehdä, ja sitten ala kirjoittaa vastaavaa koodia.
Tuo vaikuttaa epäilyttävästi koulutehtävältä. Jos näin on, kehotan kysymään opettajalta.
Kannattaa general osioon kirjoittaa Option Explicit. Kirjoitusvirhe kannattaa korjata muuttujasta syntymävuosi1 tällä hetkellä se on sinulla syntynmvuosi1. Samoin kuin määritellä kaikki muuttujat.
Option Explicit auttaa sinut alkuun.
Ongelmahan on tuossa And-vertailussa, joka on sitä binääritason vertailua, josta oli jo selvennys aiemmin aloittamassasi keskustelussa. Se ei toimi aivan sillä tavalla kuin nyt oletat.
eikö olisikin melko ovelaa katsoa sieltä alhaalta sitä error outputtia ja korjata ne?
vuosi kannattaa vaihtaa ikään.. ;D
huvittava ohjelmoija... kokeile tehä toi kokonaan uusiks! Ei ainakaan tarvii kirjottaa niin paljoo ku jos alkais korjailemaan :P
Aihe on jo aika vanha, joten et voi enää vastata siihen.