Excel-ohjelmointi.fi

Etusivu Hinnoittelu
Soita: 050 337 9941



Oman ohjelman suunnitteleminen usein helpompaa kuin arvaatkaan

Moni kätevä ohjelma jää tekemättä ja hyödyntämättä, koska sen luullaan olevan vaikeaa. Lue seuraavasta esityksestä, mitä kaikkien Office-ohjelmia (Word, Excel,...) työkseen käyttävien on hyvä tietää.


Maallikolle on usein vaikea lähestyä tietokoneen ohjelmointia, koska se helposti nähdään erilaisten tarkkuutta vaativien pikkuasioiden kanssa näpräämiseksi. Ja itse lopullisen ajettavan koodin tuottamisessa se tätä paljolti onkin. Mutta kun haluat hyödyntää VBA-kieltä esimerkiksi Excel-ohjelman käytön tehostamiseen, niin ohjelman suunnitteluvaiheessa ei tarvitse tietääkään kaikkia ajokelpoisen koodin tuottamiseen vaadittavia yksityiskohtia. Voit jättää ne ammattilaisen huoleksi ja keskittyä vain siihen mitä haluat ohjelman tehtävätasolla saavan aikaan. Mitä tämä suomeksi tarkoittaa selvinnee parhaiten seuraavan esimerkin avulla.



Esimerkki:
Olkoon tehtävänä lukea tietoja tiedostosta, laskea niiden perusteella joitain tuloksia, ja lopuksi tuoda tulokset näkyviin laskentataulukkoon asianmukaisesti otsikoituina. Tällainen tarve tulee usein eteen esimerkiksi toimistoympäristössä. Tästä useammasta osasta koostuvasta tehtävästä voidaan hahmottaa seuraavanlainen ns. 'pseudokoodi':

luetiedot
suoritalaskenta
tulostatulokset


(Pseudokoodi ~ ei ole mitään oikeaa ohjelmointikieltä, mutta kertoo selkeästi, mitä ohjelma tekee ja missä järjestyksessä)

Haluttu tehtävä jaettiin edellä osiin, jotka ovat 1) toisistaan erillisiä ja 2) suoritetaan tietyssä järjestyksessä. Nyt kun edellä olevan 'koodin' näyttää kokeneelle ohjelmoijalle, hänelle ei tuota mitään vaikeuksia hahmottaa mitä oikein ajat takaa. Asia on esitetty aivan selkeästi ja johdonmukaisesti. Luultavasti hän kysyisi seuraavaksi jo, että mistä haluat tiedot luettavaksi ensimmäisessä kohdassa jne. Tilanteesta riippuen ne luettaisiin tiedostosta tai haettaisiin jostain muualta (esimerkiksi tietokannasta), mutta itse ohjelman hahmottamisen kannalta sillä ei olisi kovin suurta merkitystä. Ohjelmoija kirjoittaa koodin, jolla tiedot luetaan sieltä mistä haluat.

Oleellista edellä olevassa ohjelman suunnittelussa on siis vain jäsentää haluttua tehtävää osiin ja tässä osiin jakamisessa ei vielä tarvita mitään varsinaisia ohjelmointikielen käskyjä. Niiden laatimisen voit jättää ohjelmoijan huoleksi.



Edellä hahmotettiin jo eri toimenpiteiden a) erillisyys ja b) järjestys. Toisaalta, ohjelman suorittamat toimet kohdistuvat tietoihin, jotka siten muokkautuvat ohjelman suorituksen aikana. Näin ollen myös tarpeellinen tietojen välittäminen eri toimenpiteiden välillä tulee hoitaa hallitusti. Tarkastellaan seuraavaksi sitä hieman lähemmin.

Tietojen välittäminen:
Vaihe 1: tuo tiedot taulukkoon 'TAULU 1'
Vaihe 2: suorita laskennat taulukon 'TAULU 1' tiedoilla, uudet tiedot tauluun 'TAULU 2'
Vaihe 3 : tulosta saadut tulokset taulukosta 'TAULU 2' näkyviin Excelin välilehdelle


Tietoja pitää operaatioiden suorituksen kuluessa siis välittää seuraavasti:

'TAULU 1' vaiheesta 1 vaiheeseen 2

'TAULU 2' vaiheesta 2 vaiheeseen 3


Ohjelmissa tietojen välitys tapahtuu ns. parametrien avulla. Lisätään ne pseudokoodiimme:

luetiedot TAULU1
suoritalaskenta TAULU1, TAULU2
tulostatulokset TAULU2


Nyt koodissamme on jo halutut toimenpiteet ja parametreina ne tietovarastot joihin toimenpiteiden halutaan kohdistuvan. Ohjelmoija kysyisi todennäköisesti vielä:
  • mistä tiedot luetaan ensimmäisessä vaiheessa ?
  • mitä vaiheessa kaksi lasketaan?
  • mihin tulokset tulostetaan kolmannessa vaiheessa?

Paljon muuta hän ei enää tarvitsisi laatiakseen valmiin ajokelpoisen ohjelman suorittamaan halutun tehtävän. Kyseinen ohjelma ei ensimmäisellä kerralla ehkä tuottaisi tuloksia aivan sillä tavalla kuin ajattelit, mutta kokenut ohjelmoija tekisi nopeasti vaadittavat muutokset ja korjaukset. Ja valmiin ohjelman käynnistäminen tapahtuisi tarpeeseen sopivalla tavalla, esimerkiksi
  • painiketta painamalla
  • aina kyseisen tiedoston (esim Excel-tiedoston) avauksen yhteydessä
  • jollain tarkoitukseen räätälöidyllä näppäinyhdistelmällä
  • valitsemalla toimenpide valikosta
  • jne...



Lyhyesti:
Kun haluat tehostaa Office-ohjelmien käyttöä, voit keskittyä miettimään vain sitä, mitä haluat ohjelman tekevän, ei sitä miten ohjelma sen tekee. Ohjelmoijan tehtävänä on sitten kirjoittaa tarkat komennot systeemin ajettavaksi ja haluttujen tulosten tuottamiseksi.

Ja Sokerina Pohjalla:
Kun sovit yhteistyöstä kanssani, voit keskittää aikasi tarkasti vain niihin asioihin, joista oikeasti on hyötyä omalle liiketoiminnallesi. Mitään ylimääräistä sinun ei tarvitse opetella.