VBA: ssa on monia tapoja käyttää toimintoja. VBA: ssa on monia sisäänrakennettuja toimintoja. Voit jopa luoda omia toimintoja (UDF). Voit kuitenkin hyödyntää monia Excelin toimintoja VBA: ssa käyttämällä Application.WorksheetFunction -toimintoa.
Laskentataulukon toimintojen käyttäminen VBA: ssa
Jos haluat käyttää Excel -toimintoa VBA: ssa, lisää Application.WorksheetFunction sen toiminnon eteen, jonka haluat kutsua. Alla olevassa esimerkissä kutsumme Excelin maksimitoimintoa:
12 | Himmennä maksimiarvo niin kauanmaxvalue = Application.WorksheetFunction.Max (Alue ("a1"). Arvo, alue ("a2"). Arvo) |
Funktioiden syntaksi on sama, mutta annat funktioargumentit aivan kuten minkä tahansa muun VBA -funktion.
Huomaa, että maksutoiminnon syntaksi tulee näkyviin kirjoittaessasi (kuten VBA -toimintojen kanssa):
LaskentataulukkoToimintatapa
WorksheetFunction on sovellusobjektin menetelmä. Sen avulla voit käyttää monia (ei kaikkia) Excelin vakiolaskentataulukon toimintoja. Yleensä et saa pääsyä mihinkään laskentataulukkotoimintoihin, joilla on vastaava VBA -versio.
Alla näet luettelon tavallisimmista laskentataulukon toiminnoista.
Application.WorksheetFunction vs.Sovellus
Näihin toimintoihin on itse asiassa kaksi tapaa:
Application.WorksheetFunction (kuten yllä):
1 | maxvalue = Application.WorksheetFunction.Max (Alue ("a1"). Arvo, alue ("a2"). Arvo) |
tai voit jättää WorksheetFunction -toiminnon pois
1 | maxvalue = Application.Max (Alue ("a1"). Arvo, alue ("a2"). Arvo) |
Valitettavasti WorksheetFunction -toiminnon jättäminen pois poistaa Intellisensen, joka näyttää syntaksin (katso yllä oleva kuva). Sillä on kuitenkin yksi suuri potentiaali: Virhe käsittelyssä.
Jos käytät sovellusta ja toiminto luo virheen, se palauttaa virhearvon. Jos käytät WorksheetFunction -menetelmää, VBA heittää ajonaikaisen virheen. Voit tietysti käsitellä VBA -virheen, mutta yleensä on parempi välttää virhe ensin.
Katsotaanpa esimerkkiä nähdäksesi eron:
Vlookup -laskentataulukko Toimintovirheen käsittely
Yritämme suorittaa Vlookupin, joka ei johda otteluun. Joten Vlookup -toiminto palauttaa virheen.
Ensinnäkin käytämme WorksheetFunction -menetelmää. Huomaa, miten VBA heittää virheen:
Seuraavaksi jätämme WorksheetFunction -toiminnon pois. Huomaa, kuinka
Seuraavaksi jätämme WorksheetFunction -toiminnon pois. Huomaa, kuinka virheitä ei heitetä, ja sen sijaan "arvo" -toiminto sisältää Vlookupin virhearvon.
VBA -laskentataulukon toimintojen luettelo
Alla on luettelo useimmista yleisimmistä VBA -työkirjan toiminnoista.
Toiminto | Kuvaus |
---|---|
Looginen | |
JA | Tarkistaa, täyttyvätkö kaikki ehdot. TOSI/EPÄTOSI |
JOS | Jos ehto täyttyy, tee jotain, jos ei, tee jotain muuta. |
IFERROR | Jos tulos on virhe, tee jotain muuta. |
TAI | Tarkistaa, täyttyvätkö kaikki ehdot. TOSI/EPÄTOSI |
Haku ja viite | |
VALITA | Valitsee luettelosta arvon sen sijaintinumeron perusteella. |
HLOOKUP | Etsi arvo ensimmäiseltä riviltä ja palauta arvo. |
INDEKSI | Palauttaa arvon sarake- ja rivinumeroiden perusteella. |
KATSO YLÖS | Etsii arvoja vaaka- tai pystysuunnassa. |
OTTELU | Etsii arvoa luettelosta ja palauttaa sen sijainnin. |
TRANSPOSE | Kääntää solualueen suunnan. |
VLOOKUP | Etsi arvo ensimmäisestä sarakkeesta ja palauta arvo. |
Treffiaika | |
PÄIVÄMÄÄRÄ | Palauttaa päivämäärän vuodesta, kuukaudesta ja päivästä. |
DATEVALUE | Muuntaa tekstiksi tallennetun päivämäärän kelvolliseksi päivämääräksi |
PÄIVÄ | Palauttaa päivän numerona (1-31). |
PÄIVÄT 360 | Palauttaa päivät kahden päivämäärän välillä 360 päivän vuodessa. |
EDATE | Palauttaa päivämäärän, n kuukauden päässä aloituspäivästä. |
EOMONTH | Palauttaa kuukauden viimeisen päivän, n kuukauden kuluttua. |
TUNNIN | Palauttaa tunnin numerona (0-23). |
MINUTE | Palauttaa minuutin numerona (0-59). |
KUUKAUSI | Palauttaa kuukauden numerona (1-12). |
VERKKOPÄIVÄT | Työpäivien lukumäärä kahden päivämäärän välillä. |
NETWORKDAYS.INTL | Työpäivät kahden päivämäärän välillä, mukautetut viikonloput. |
NYT | Palauttaa nykyisen päivämäärän ja kellonajan. |
TOINEN | Palauttaa toisen numerona (0-59) |
AIKA | Palauttaa ajan tunnista, minuutista ja sekunnista. |
AIKAARVO | Muuntaa tekstiksi tallennetun ajan kelvolliseksi ajaksi. |
WEEKDAY | Palauttaa viikonpäivän numerona (1-7). |
WEEKNUM | Palauttaa viikon numeron vuodessa (1-52). |
TYÖPÄIVÄ | Päivämäärä n työpäivää päivämäärästä. |
VUOSI | Palauttaa vuoden. |
VUOSI | Palauttaa vuoden murto -osan kahden päivämäärän välillä. |
Tekniikka | |
MUUNTAA | Muunna numero yksiköstä toiseen. |
Talous | |
FV | Laskee tulevan arvon. |
PV | Laskee nykyarvon. |
NPER | Laskee maksuaikojen kokonaismäärän. |
PMT | Laskee maksun määrän. |
HINTA | Laskee koron. |
NPV | Laskee nykyisen nettoarvon. |
IRR | Kausittaisten CF -yritysten sisäinen tuotto. |
XIRR | Sisäinen tuottoaste kausittaisten CF-yhtiöiden joukolle. |
HINTA | Laskee joukkovelkakirjan hinnan. |
INTRATE | Täysin sijoitetun arvopaperin korko. |
Tiedot | |
ISERR | Testaa, onko solun arvo virhe, ja jättää huomiotta #N/A. TOSI/EPÄTOSI |
ISERROR | Testaa, onko solun arvo virhe. TOSI/EPÄTOSI |
ON TASAN | Testaa, onko solun arvo parillinen. TOSI/EPÄTOSI |
ISLOGINEN | Testaa, onko solu looginen (TOSI vai EPÄTOSI). TOSI/EPÄTOSI |
ISNA | Testaa, onko solun arvo #N/A. TOSI/EPÄTOSI |
ISNONTEXT | Testaa, onko solu ei teksti (tyhjät solut eivät ole tekstiä). TOSI/EPÄTOSI |
ISNUMBER | Testaa, onko solu numero. TOSI/EPÄTOSI |
ISODD | Testaa, onko solun arvo pariton. TOSI/EPÄTOSI |
ISTEXT | Testaa, onko solu teksti. TOSI/EPÄTOSI |
TYYPPI | Palauttaa solun arvon tyypin. |
Matematiikka | |
ABS | Laskee luvun absoluuttisen arvon. |
AGGREGAATTI | Määritä ja suorita laskelmia tietokannalle tai luettelolle. |
KATTO | Pyöristää luvun ylöspäin lähimpään määritettyyn monikertaan. |
COS | Palauttaa kulman kosinin. |
ASTEET | Muuntaa radiaanit asteiksi. |
DSUM | Laskee yhteen tietokantatietueet, jotka täyttävät tietyt ehdot. |
JOPA | Pyöristää lähimpään parilliseen kokonaislukuun. |
EXP | Laskee tietyn luvun eksponentiaalisen arvon. |
FAKTA | Palauttaa kertoimen. |
LATTIA | Pyöristää luvun alaspäin lähimpään määritettyyn monikertaan. |
GCD | Palauttaa suurimman yhteisen jakajan. |
INT | Pyöristää luvun alaspäin lähimpään kokonaislukuun. |
LCM | Palauttaa vähiten yhteisen kerrannaisen. |
LN | Palauttaa luvun luonnollisen logaritmin. |
HIRSI | Palauttaa luvun logaritmin tietylle kannalle. |
LOG10 | Palauttaa luvun peruslogaritmin 10. |
MROUND | Pyöristää luvun määritettyyn monikertaan. |
OUTO | Pyöristää lähimpään parittomaan kokonaislukuun. |
PI | PI: n arvo. |
VIRTA | Laskee potenssiin korotetun luvun. |
TUOTE | Kertoo numerojoukon. |
OSAMÄÄRÄ | Palauttaa jaon kokonaislukutuloksen. |
RADIAANIT | Muuntaa kulman radiaaneiksi. |
RANDBETWEEN | Laskee satunnaisluvun kahden numeron välillä. |
PYÖRISTÄÄ | Pyöristää luvun määrättyyn numeroon. |
PYÖRISTÄÄ ALASPÄIN | Pyöristää luvun alaspäin (kohti nollaa). |
PYÖRISTÄÄ YLÖSPÄIN | Pyöristää luvun ylöspäin (pois nollasta). |
SYNTI | Palauttaa kulman sinin. |
VÄLISUMMA | Palauttaa tietosarjan yhteenvetotilaston. |
SUMMA | Lisää numerot yhteen. |
SUMIF | Laskee yhteen kriteerit täyttävät luvut. |
SUMIFS | Summat, jotka täyttävät useita kriteerejä. |
SUMPRODUCT | Kertoo numeroita ja laskee tuloksena olevan taulukon yhteen. |
TAN | Palauttaa kulman tangentin. |
Tilastot | |
KESKIVERTO | Keskimääräiset luvut. |
KESKIMÄÄRÄINEN | Keskiarvot, jotka täyttävät kriteerit. |
KESKIMÄÄRÄISET | Keskiarvot, jotka täyttävät useita kriteerejä. |
CORREL | Laskee kahden sarjan korrelaation. |
KREIVI | Laskee solut, jotka sisältävät numeron. |
COUNTA | Laske solut, jotka eivät ole tyhjiä. |
COUNTBLANK | Laskee tyhjät solut. |
COUNTIF | Laskee solut, jotka täyttävät ehdot. |
LASKEET | Laskee solut, jotka täyttävät useita ehtoja. |
ENNUSTE | Ennusta tulevat y-arvot lineaarisesta trendilinjasta. |
TAAJUUS | Laskee arvot, jotka kuuluvat määritettyihin alueisiin. |
KASVU | Laskee Y -arvot eksponentiaalisen kasvun perusteella. |
SIEPATA | Laskee parhaiten sopivan viivan Y-leikkauksen. |
SUURI | Palauttaa k. Suurimman arvon. |
LINEST | Palauttaa trendiviivan tilastot. |
MAX | Palauttaa suurimman luvun. |
MEDIAANI | Palauttaa mediaaniluvun. |
MIN | Palauttaa pienimmän luvun. |
TILA | Palauttaa yleisimmän numeron. |
PROSENTILI | Palauttaa k: nnen prosenttipisteen. |
PERCENTILE.INC | Palauttaa k: nnen prosenttipisteen. Missä k on kattava. |
PERCENTILE.EXC | Palauttaa k: nnen prosenttipisteen. Missä k on yksinomainen. |
NELJÄNNESTE | Palauttaa määritetyn kvartiiliarvon. |
QUARTILE.INC | Palauttaa määritetyn kvartiiliarvon. Osallistava. |
QUARTILE.EXC | Palauttaa määritetyn kvartiiliarvon. Yksinomainen. |
RANK | Numeron sijoitus sarjassa. |
RANK.AVG | Numeron sijoitus sarjassa. Keskiarvot. |
RANK.EQ | Numeron sijoitus sarjassa. Tehdä kepponen. |
RINNE | Laskee kaltevuuden lineaarisen regression perusteella. |
PIENI | Palauttaa pienimmän k: n arvon. |
STDEV | Laskee keskihajonnan. |
STDEV.P | Laskee koko populaation SD: n. |
STDEV.S | Laskee näytteen SD: n. |
STDEVP | Laskee koko populaation SD: n |
TRENDI | Laskee Y -arvot trendilinjan perusteella. |
Teksti | |
PUHDAS | Poistaa kaikki tulostamattomat merkit. |
DOLLARI | Muuntaa luvun tekstiksi valuuttamuodossa. |
LÖYTÖ | Paikallistaa tekstin sijainnin solussa. |
VASEN | Katkaisee tekstistä useita merkkejä vasemmalta. |
LEN | Laskee tekstissä olevien merkkien määrän. |
MID | Poimii tekstin solun keskeltä. |
OIKEA | Muuntaa tekstin oikeiksi kirjaimiksi. |
KORVATA | Korvaa tekstin sen sijainnin perusteella. |
REPT | Toistaa tekstin useita kertoja. |
OIKEA | Katkaisee tekstistä useita merkkejä oikealta. |
HAE | Paikantaa tekstin sijainnin solussa. Ei kirjainkoolla. |
KORVAA | Etsii ja korvaa tekstin. Kirjainkoolla on merkitystä. |
TEKSTI | Muuntaa arvon tekstiksi tietyllä numeromuodolla. |
TRIMMATA | Poistaa kaikki ylimääräiset välilyönnit tekstistä. |