Käytetään kohteeseen
Excel 2010

Yhteenveto

"Koskee seuraavia" -osassa luetelluissa Microsoft Excel -versioissa voit luoda käyttäjän määrittämän funktion, joka palauttaa mukautetun laskutoimituksen Visual Basic for Applications avulla. Käyttäjän määrittämät funktiot eivät kuitenkaan voi suorittaa toimintoja, jotka muuttavat Microsoft Excel -ympäristöä, kun niitä kutsutaan laskentataulukon solun kaavalla.

Lisätietoja

Käyttäjän määrittämä funktio, jota kutsutaan laskentataulukon solun kaavalla, ei voi muuttaa Microsoft Excelin ympäristöä. Tämä tarkoittaa, että tällainen funktio ei voi tehdä mitään seuraavista:

  • Lisää, poista tai muotoile laskentataulukon soluja.

  • Muuta toisen solun arvoa.

  • Siirtää, nimetä uudelleen, poistaa tai lisätä taulukoita työkirjaan.

  • Muuta mitä tahansa ympäristöasetuksia, kuten laskentatilaa tai näyttönäkymiä.

  • Lisää nimiä työkirjaan.

  • Määritä ominaisuudet tai suorita useimmat menetelmät.

Käyttäjän määrittämien funktioiden tarkoituksena on antaa käyttäjälle mahdollisuus luoda mukautettu funktio, joka ei sisälly Microsoft Exceliin toimitettavien funktioiden mukana. Microsoft Excelin funktiot eivät myöskään voi muuttaa ympäristöä. Funktiot voivat suorittaa laskutoimituksen, joka palauttaa joko arvon tai tekstin soluun, johon ne syötetään. Kaikki ympäristömuutokset on tehtävä Visual Basic -alirutiinin avulla. Excel tutkii laskutoimituksen aikana käyttäjän määrittämän funktion sisältävän solun edeltäjät. Jos kaikkia ennakkotapauksia ei ole laskettu tähän mennessä laskentaprosessin aikana, Excel kutsuu lopulta käyttäjän määrittämän funktion ja siirtää funktioon Tyhjä-solun tai Tyhjä-solun. Excel varmistaa sitten, että kaikki ennakkotapaukset lasketaan riittävän hyvin. Loppulaskennan aikana käyttäjän määrittämä funktio välittää solujen nykyiset arvot. Tämä voi aiheuttaa sen, että käyttäjän määrittämää funktiota kutsutaan odotettua useammin ja että siinä on odottamattomia argumentteja. Tämän vuoksi käyttäjän määrittämä funktio voi palauttaa odottamattomia arvoja.Jos laskenta on oikein, kaikki laskutoimituksessa käytetyt alueet on välitettävä funktiolle argumentteina. Jos et läpäise laskenta-alueita argumentteina sen sijaan, että viitaisit funktion VBA-koodin alueisiin, Excel ei voi ottaa niitä huomioon laskentamoduulissa. Siksi Excel ei ehkä laske työkirjaa riittävästi varmistaakseen, että kaikki edeltäjät lasketaan ennen käyttäjän määrittämän funktion laskemista.

Lisätietoja

"Visual Basic User's Guide" version 5.0, Chapter 4, "What Is a Visual Basic Procedure" "Writing a user-defined worksheet function", Microsoft Excel 7.0 Visual Basic Help File.

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.