Excel-ohjelmointi.fi

Etusivu Hinnoittelu
Soita: 050 337 9941



Excel-työkirjojen käsittely sujuvaksi räätälöityjen käyttäjälomakkeiden avulla


Excel-ohjelma on helppo avata ja aloittaa välittömästi tietojen kirjoittaminen soluihin. Samoin yksittäisessä solussa olevan tiedon muuttaminen käy kätevästi. Pitää vain ensin siirtyä ko. soluun ja sen jälkeen tiedon muuttaminen käy helposti.

Entä jos sama tieto pitäisikin kirjoittaa useaan eri paikkaan työkirjassa... Olisiko keinoa millä välttää saman tekstin tai luvun kirjoittamista käsin uudelleen ja uudelleen?



Käyttäjän vuorovaikutuksessa työkirjan kanssa on usein tarve välineelle nimeltä "käyttäjälomake" (engl. UserForm) jonka avulla tietojen syöttö ja / tai näyttäminen on mahdollista paremmin ja monipuolisemmin kuin kirjoittamalla tietoja suoraan taulukkosivun soluihin.

Visual Basic for Applications, eli lyhyesti VBA, mahdollistaa Excelin käytössä käyttäjälomakkeiden eli lyhyesti lomakkeiden (forms) hyödyntämisen työkirjan ja sen sisältämän datan käsittelyssä. Tarkastellaan seuraavaksi esimerkkiä:

Rakennusliike haluaa hallinnoida työkohteiden tietoja Excel-työkirjojen avulla. Kullekin kohteelle siis oma työkirjansa jossa tarvitaan 30 kpl taulukkosivuja. Jokaiselle taulukkosivulle halutaan yläotsikkoon tieto kyseessä olevasta työkohteesta. Siis jokaiseen 30 taulukkosivuun, jokaisen uuden työmaan työkirjan kanssa, hmm... Olisiko mahdollisesti olemassa jotain muuta vaihtoehtoa kuin luoda käsin tarvittava määrä taulukkosivuja ja käydä kirjoittamassa tieto käsin jokaiselle sivulle?

Tällaiseen tilanteeseen sopii hyvin alla olevan kuvan esittämä hyvin yksinkertainen käyttäjälomake:

Esimerkki lomakkeesta ja kontrolleista:

Projektin tiedot

Kun valkoiseen tekstilaatikkoon on kirjoitettu kyseisen työkohteen tieto ja klikataan painiketta 'Valmis', tapahtuu VBA-ohjelmakoodin toimesta seuraavaa:

Nyt työkirjan käsittelijä voi jatkaa eteenpäin ...


Tarkastellaan lomakkeella näkyviä osia vielä erikseen:

Lomake ja kontrollit

Itse "lomake" on etupäässä vain säiliö erilaisille ohjainkomponenteille eli kontrolleille. Varsinainen vuorovaikutus työkirjan kanssa tapahtuu kontrollien kautta, ei itse lomakkeen.

Usein on suuri merkitys juuri sillä, MITEN kontrollit on aseteltu lomakkeelle ja miten niihin liittyvät toiminnot on toteutettu eli ohjelmoitu. Se määrää hyvin pitkälle sen miten helppokäyttöinen ja tarkasti asiansa hoitava kyseinen lomake on.

________________________________________________________________



Jos on aiemmin käyttänyt jotain "tietokannanhallintajärjestelmää", niin silloin lomakkeet yleensä ovat jo tuttuja. Mutta tietokantojen kanssa lomakkeiden käyttö rajoittuu helposti vain tiedon syöttämiseen, hakemiseen, näyttämiseen ja tulostamiseen. Lomakkeet soveltuvat kuitenkin moneen muuhunkin ja onkin parempi ajatella yleisesti, että lomakkeilla ohjataan sovelluksen etenemistä. Mitä tuo "sovellus" ja "ohjaaminen" kulloinkin tarkoittaa onkin sitten aina tapauskohtainen asia.

Kun lomaketta käytetään jonkin sovelluksen toiminnan ohjaamiseen, sillä usein hoidetaan tarkalleen ja vain jokin tietty tehtävä kuten seuraavassa esimerkissä.

Esimerkki: osoitetarrojen tulostus

Kun tulostetaan osoitetietoja erilaisiin osoitetarra-arkkeihin käy usein niin, että viimeiseltä tarra-arkilta käytetään vain osa tarroista. Tällöin seuraavalla kerralla tulostettaessa olisi hyvä päästä aloittamaan tulostus arkin alun sijaan vasta ensimmäisestä tarra-lapusta. Tämä saadaan toteutettua kun tulostus tehdään VBA-ohjelmakoodin toimesta, joka kysyy aluksi montako puuttuvaa tarra-lappua "hypätään" yli ennen tulostuksen aloittamista.

Jos tarra-arkissa on vielä kaikki tarralaput tallella, annetaan ylihypättävien määräksi nolla:

Tarratulostus 1

Nyt tulostus alkaa heti ensimmäisestä tarralapusta:

Osoitetarrat 1

Jos tarra-arkista on jo käytetty kolme tarralappua, annetaan ennen tulostuksen alkamista ylihypättävien määräksi kolme:

Tarratulostus 2

Nyt tulostus alkaa vasta neljännen tarralapun kohdalta:

Osoitetarrat 2

________________________________________________________________



Edellä käyttäjälomake liittyi leimallisesti sovellukseen liittyvän datan käsittelyyn. Käyttäjälomaketta (UserForm) voidaan kuitenkin hyödyntää myös itsenäisenä työkaluna. Seuraavana esimerkki rakennusalalla toimivan yrityksen käyttöön tehdystä lomakkeesta, jolla lasketaan etäisyyksiä piipun huipulta kerrosten lattiaan:

Kerrokset

HUOM: Tällainen käyttäjälomake ei ole sidoksissa johonkin tiettyyn Excel-tiedostoon eikä edes Excel-ohjelmaan. Näin ollen se on sellaisenaan kopioitavissa myös toiseen Excel -tiedostoon ja esim. Word-tiedostoon. Se toimii heti myös tuossa uudessa tiedostossa.

________________________________________________________________


Käyttäjälomake rakennetaan kulloisenkin tarpeen mukaisesti ja tässä rakennustyössä käytetään VBA-ohjelmakoodia. Sen avulla lomakkeista saadaan helppoja, sujuvia, selkeitä ja luotettavia käyttää (kunhan itse ohjelmointi tehdään huolellisesti).


Yrityksen prosesseja ja niiden hallinnointia mietittäessä on hyvä muistaa, että Excelin lomakejärjestelmä mahdollistaa lomakkeiden joustavan ja nopean rakentamisen mitä erilaisempiin käyttötarkoituksiin.



Kun haluat hyödyntää juuri omaan tarkoitukseesi laadittua käyttäjälomaketta niin ota rohkeasti yhteyttä soittamalla numeroon 050 337 9941 ja kysy lisää!