Laskentataulukon toiminnot VBA -makroissa käyttäen VBA: ta Microsoft Excelissä

Anonim

Jos sinun on viitattava tiettyihin laskentataulukon toimintoihin, kuten Sum, Vlookup jne., VBA -koodissa, voit käyttää niitä suoraan sovellusobjektin avulla. Käytämme siis toimintoja kuten -

Application.WorksheetFunction.Sum tai Application.WorksheetFunction.Vlookup missä WorksheetFunction on sovellusobjektin menetelmä.

Ottaen huomioon, että meillä on tämä testimakro, jos kirjoitamme

Application.WorksheetFunction.

Saamme ponnahdusikkunan, joka näyttää alla olevan kuvan kaavat

Joten jos haluat esimerkiksi laskea tämän alueen arvot sarakkeessa A käyttämällä vba -

Lets on muuttuja nimeltä SalesTotal, joka säästää summan siihen. Saadaksesi kokonaismäärän SalesTotalista käytämme seuraavaa VBA -koodia vakiomoduulissa:

Submakro4 ()
Hämärä myyntiYhteensä yhtä kauan
SalesTotal = Application.WorksheetFunction.Sum (Alue ("A2: A6"))
MsgBox SalesTotal
End Sub

Jos haluat kopioida yllä olevan koodin tiedostoosi,

  • Paina näppäimistön näppäinyhdistelmää Alt + F11.
  • Vasemmalla puolella näet Microsoft Excel -objektit.
  • Napsauta hiiren kakkospainikkeella ja valitse Lisää.
  • Napsauta sitten Moduuli.
  • Kopioi koodi oikealla olevaan koodi -ikkunaan.

Kun käytämme tätä esimerkkimakroa, saamme viestin, joka näyttää arvon, joka on tallennettu Sales Totaliin ja jota voidaan käyttää makron muissa koodiriveissä.

Tulos, jonka saamme, on -

Jos haluat SalesTotalin näkyvän solussa A7, voit vaihtaa koodirivin arvosta

Msgbox SalesTotalkohteeseen Laskentataulukot ("Sheet1"). Alue ("A7"). Arvo = SalesTotal

Ottaen huomioon, että tarvitsemme myös näiden lukujen keskimääräisen myynnin solussa A9. Voimme käyttää alla olevaa koodia

Alamakro5 ()
Hämärä myyntiYhteensä yhtä kauan
Laskentataulukoiden kanssa ("Sheet1")
SalesTotal = Application.WorksheetFunction.Sum (.Range ("A2: A6"))
.Range ("A7"). Arvo = SalesTotal
.Range ("A9"). Arvo = Application.WorksheetFunction.Average (.Range ("A2: A6"))
Lopeta
End Sub

Tähän koodiin on tehty pieniä muutoksia edelliseen verrattuna.

  • Sen sijaan, että käyttäisin muuttujaa keskiarvoon, täytin arvon suoraan laskennan jälkeen soluun A9. Näin näet rivin .Range ("A9"). Value = Application.WorksheetFunction.Average (.Range ("A2: A6"))
  • Viestiviestin rivi on poistettu.
  • Muuttujan SalesTotal arvo siirtyy soluun A7.
  • Ihannetapauksessa voit toistaa saman koodirivin, jota on käytetty keskiarvona, Sum -koodiriville korvaamalla

SalesTotal = Application.WorksheetFunction.Sum (.Range (“A2: A6”))

.Range (“A7”). Arvo = SalesTotal

Kanssa

.Range ("A7"). Arvo = Application.WorksheetFunction.Sum (.Range ("A2: A6"))

Se on kuitenkin säilytetty, jotta voit ymmärtää saman tehtävän erilaiset koodausmenetelmät. Samoin voimme käyttää muita toimintoja käyttäessämme Application.WorksheetFunction -toimintoa. Kaikki toiminnot, joita voimme käyttää laskentataulukossa suoraan, voimme käyttää niitä täällä.

Tämä helpottaa koodin toimintojen käyttöä, jotta voimme laskea tarvittavat kaavat tarvitsematta luoda koodia kaavalle.

Jos pidit blogistamme, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.
Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa, täydentää tai innovoida työtämme ja parantaa sitä sinulle. Kirjoita meille osoitteeseen sähköpostisivusto