Käytä laskentataulukon toimintoja makrossa - VBA -koodiesimerkkejä

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.

ToimintoKuvaus
Looginen
JATarkistaa, täyttyvätkö kaikki ehdot. TOSI/EPÄTOSI
JOSJos ehto täyttyy, tee jotain, jos ei, tee jotain muuta.
IFERRORJos tulos on virhe, tee jotain muuta.
TAITarkistaa, täyttyvätkö kaikki ehdot. TOSI/EPÄTOSI
Haku ja viite
VALITAValitsee luettelosta arvon sen sijaintinumeron perusteella.
HLOOKUPEtsi arvo ensimmäiseltä riviltä ja palauta arvo.
INDEKSIPalauttaa arvon sarake- ja rivinumeroiden perusteella.
KATSO YLÖSEtsii arvoja vaaka- tai pystysuunnassa.
OTTELUEtsii arvoa luettelosta ja palauttaa sen sijainnin.
TRANSPOSEKääntää solualueen suunnan.
VLOOKUPEtsi arvo ensimmäisestä sarakkeesta ja palauta arvo.
Treffiaika
PÄIVÄMÄÄRÄPalauttaa päivämäärän vuodesta, kuukaudesta ja päivästä.
DATEVALUEMuuntaa 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 360Palauttaa päivät kahden päivämäärän välillä 360 päivän vuodessa.
EDATEPalauttaa päivämäärän, n kuukauden päässä aloituspäivästä.
EOMONTHPalauttaa kuukauden viimeisen päivän, n kuukauden kuluttua.
TUNNINPalauttaa tunnin numerona (0-23).
MINUTEPalauttaa minuutin numerona (0-59).
KUUKAUSIPalauttaa kuukauden numerona (1-12).
VERKKOPÄIVÄTTyöpäivien lukumäärä kahden päivämäärän välillä.
NETWORKDAYS.INTLTyöpäivät kahden päivämäärän välillä, mukautetut viikonloput.
NYTPalauttaa nykyisen päivämäärän ja kellonajan.
TOINENPalauttaa toisen numerona (0-59)
AIKAPalauttaa ajan tunnista, minuutista ja sekunnista.
AIKAARVOMuuntaa tekstiksi tallennetun ajan kelvolliseksi ajaksi.
WEEKDAYPalauttaa viikonpäivän numerona (1-7).
WEEKNUMPalauttaa viikon numeron vuodessa (1-52).
TYÖPÄIVÄPäivämäärä n työpäivää päivämäärästä.
VUOSIPalauttaa vuoden.
VUOSIPalauttaa vuoden murto -osan kahden päivämäärän välillä.
Tekniikka
MUUNTAAMuunna numero yksiköstä toiseen.
Talous
FVLaskee tulevan arvon.
PVLaskee nykyarvon.
NPERLaskee maksuaikojen kokonaismäärän.
PMTLaskee maksun määrän.
HINTALaskee koron.
NPVLaskee nykyisen nettoarvon.
IRRKausittaisten CF -yritysten sisäinen tuotto.
XIRRSisäinen tuottoaste kausittaisten CF-yhtiöiden joukolle.
HINTALaskee joukkovelkakirjan hinnan.
INTRATETäysin sijoitetun arvopaperin korko.
Tiedot
ISERRTestaa, onko solun arvo virhe, ja jättää huomiotta #N/A. TOSI/EPÄTOSI
ISERRORTestaa, onko solun arvo virhe. TOSI/EPÄTOSI
ON TASANTestaa, onko solun arvo parillinen. TOSI/EPÄTOSI
ISLOGINENTestaa, onko solu looginen (TOSI vai EPÄTOSI). TOSI/EPÄTOSI
ISNATestaa, onko solun arvo #N/A. TOSI/EPÄTOSI
ISNONTEXTTestaa, onko solu ei teksti (tyhjät solut eivät ole tekstiä). TOSI/EPÄTOSI
ISNUMBERTestaa, onko solu numero. TOSI/EPÄTOSI
ISODDTestaa, onko solun arvo pariton. TOSI/EPÄTOSI
ISTEXTTestaa, onko solu teksti. TOSI/EPÄTOSI
TYYPPIPalauttaa solun arvon tyypin.
Matematiikka
ABSLaskee luvun absoluuttisen arvon.
AGGREGAATTIMääritä ja suorita laskelmia tietokannalle tai luettelolle.
KATTOPyöristää luvun ylöspäin lähimpään määritettyyn monikertaan.
COSPalauttaa kulman kosinin.
ASTEETMuuntaa radiaanit asteiksi.
DSUMLaskee yhteen tietokantatietueet, jotka täyttävät tietyt ehdot.
JOPAPyöristää lähimpään parilliseen kokonaislukuun.
EXPLaskee tietyn luvun eksponentiaalisen arvon.
FAKTAPalauttaa kertoimen.
LATTIAPyöristää luvun alaspäin lähimpään määritettyyn monikertaan.
GCDPalauttaa suurimman yhteisen jakajan.
INTPyöristää luvun alaspäin lähimpään kokonaislukuun.
LCMPalauttaa vähiten yhteisen kerrannaisen.
LNPalauttaa luvun luonnollisen logaritmin.
HIRSIPalauttaa luvun logaritmin tietylle kannalle.
LOG10Palauttaa luvun peruslogaritmin 10.
MROUNDPyöristää luvun määritettyyn monikertaan.
OUTOPyöristää lähimpään parittomaan kokonaislukuun.
PIPI: n arvo.
VIRTALaskee potenssiin korotetun luvun.
TUOTEKertoo numerojoukon.
OSAMÄÄRÄPalauttaa jaon kokonaislukutuloksen.
RADIAANITMuuntaa kulman radiaaneiksi.
RANDBETWEENLaskee satunnaisluvun kahden numeron välillä.
PYÖRISTÄÄPyöristää luvun määrättyyn numeroon.
PYÖRISTÄÄ ALASPÄINPyöristää luvun alaspäin (kohti nollaa).
PYÖRISTÄÄ YLÖSPÄINPyöristää luvun ylöspäin (pois nollasta).
SYNTIPalauttaa kulman sinin.
VÄLISUMMAPalauttaa tietosarjan yhteenvetotilaston.
SUMMALisää numerot yhteen.
SUMIFLaskee yhteen kriteerit täyttävät luvut.
SUMIFSSummat, jotka täyttävät useita kriteerejä.
SUMPRODUCTKertoo numeroita ja laskee tuloksena olevan taulukon yhteen.
TANPalauttaa kulman tangentin.
Tilastot
KESKIVERTOKeskimääräiset luvut.
KESKIMÄÄRÄINENKeskiarvot, jotka täyttävät kriteerit.
KESKIMÄÄRÄISETKeskiarvot, jotka täyttävät useita kriteerejä.
CORRELLaskee kahden sarjan korrelaation.
KREIVILaskee solut, jotka sisältävät numeron.
COUNTALaske solut, jotka eivät ole tyhjiä.
COUNTBLANKLaskee tyhjät solut.
COUNTIFLaskee solut, jotka täyttävät ehdot.
LASKEETLaskee solut, jotka täyttävät useita ehtoja.
ENNUSTEEnnusta tulevat y-arvot lineaarisesta trendilinjasta.
TAAJUUSLaskee arvot, jotka kuuluvat määritettyihin alueisiin.
KASVULaskee Y -arvot eksponentiaalisen kasvun perusteella.
SIEPATALaskee parhaiten sopivan viivan Y-leikkauksen.
SUURIPalauttaa k. Suurimman arvon.
LINESTPalauttaa trendiviivan tilastot.
MAXPalauttaa suurimman luvun.
MEDIAANIPalauttaa mediaaniluvun.
MINPalauttaa pienimmän luvun.
TILAPalauttaa yleisimmän numeron.
PROSENTILIPalauttaa k: nnen prosenttipisteen.
PERCENTILE.INCPalauttaa k: nnen prosenttipisteen. Missä k on kattava.
PERCENTILE.EXCPalauttaa k: nnen prosenttipisteen. Missä k on yksinomainen.
NELJÄNNESTEPalauttaa määritetyn kvartiiliarvon.
QUARTILE.INCPalauttaa määritetyn kvartiiliarvon. Osallistava.
QUARTILE.EXCPalauttaa määritetyn kvartiiliarvon. Yksinomainen.
RANKNumeron sijoitus sarjassa.
RANK.AVGNumeron sijoitus sarjassa. Keskiarvot.
RANK.EQNumeron sijoitus sarjassa. Tehdä kepponen.
RINNELaskee kaltevuuden lineaarisen regression perusteella.
PIENIPalauttaa pienimmän k: n arvon.
STDEVLaskee keskihajonnan.
STDEV.PLaskee koko populaation SD: n.
STDEV.SLaskee näytteen SD: n.
STDEVPLaskee koko populaation SD: n
TRENDILaskee Y -arvot trendilinjan perusteella.
Teksti
PUHDASPoistaa kaikki tulostamattomat merkit.
DOLLARIMuuntaa luvun tekstiksi valuuttamuodossa.
LÖYTÖPaikallistaa tekstin sijainnin solussa.
VASENKatkaisee tekstistä useita merkkejä vasemmalta.
LENLaskee tekstissä olevien merkkien määrän.
MIDPoimii tekstin solun keskeltä.
OIKEAMuuntaa tekstin oikeiksi kirjaimiksi.
KORVATAKorvaa tekstin sen sijainnin perusteella.
REPTToistaa tekstin useita kertoja.
OIKEAKatkaisee tekstistä useita merkkejä oikealta.
HAEPaikantaa tekstin sijainnin solussa. Ei kirjainkoolla.
KORVAAEtsii ja korvaa tekstin. Kirjainkoolla on merkitystä.
TEKSTIMuuntaa arvon tekstiksi tietyllä numeromuodolla.
TRIMMATAPoistaa kaikki ylimääräiset välilyönnit tekstistä.
wave wave wave wave wave