VBA-kierros - Kuinka käyttää Excel VBA -kierrostoimintoa?

Sisällysluettelo:

Anonim

Excel VBA -kierrostoiminto

Sinun on oltava käyttänyt Excel Round -toimintoa kelluvien numeroiden pyöristämiseen tiettyyn desimaalin tarkkuudella. VBA Round -toiminto toimii täysin eri tavalla kuin mitä käytät Excelissä. VBA-pyöreä toiminto käyttää ”pyöreästä tasaiseen” logiikkaa. Jos pyöristettävällä numerolla on viimeinen numero desimaalin jälkeen> = 0, 6, VBA Round -toiminto pyöristää sen ylöspäin (Round UP).

Jos pyöristettävällä numerolla on viimeinen numero desimaalin jälkeen <= 0, 4, se pyöristää sen alas (pyöristää alas). Oletetaan, että desimaalin tarkkuudella on tarkalleen 0, 5, mitä se tekee? Tällaisissa tapauksissa se tarkistaa numeron kokonaisluvun kanssa. Jos kokonaisluku on parillinen, se pyöristää alas desimaaliosan parilliseen lukumäärään. Jos kokonaisluku on pariton, se pyöristää sen parilliseen lukuun. Tätä pyöristämismenetelmää kutsutaan myös ”pankkiirin pyöristykseksi”.

Pyöreän toiminnan syntaksi Excel VBA: ssa

VBA Round -toiminnolla on seuraava syntaksi:

Missä,

  • Lauseke - kelluva numero, jonka halusit pyöristää.
  • Decimal_places - Se on valinnainen argumentti, joka ottaa kokonaisluvun arvon, joka määrittelee desimaalit, joiden yläpuolelle luvun oletetaan olevan pyöreä. Pitäisi aina olla suurempi tai yhtä suuri kuin nolla. Jos ei määritetä, oletuksena nolla pidetään. Mikä tarkoittaa, että luku pyöristetään kokonaislukuun.

Kuinka käyttää Excel VBA -kierrostoimintoa?

Opimme käyttämään VBA Round -toimintoa muutamalla esimerkillä Excelissä.

Voit ladata tämän VBA Round Excel -mallin täältä - VBA Round Excel Template

Esimerkki # 1 - VBA-pyöreä toiminto luvun pyöristämiseksi

Noudata alla olevia vaiheita käyttääksesi Pyöreä-toimintoa Excel VBA: ssa.

Vaihe 1: Aseta uusi moduuli Visual Basic Editoriin (VBE).

Vaihe 2: Määritä uusi aliproseduuri makron tallentamiseksi VBE: hen.

Koodi:

 Sub Round_Ex1 () Loppu Sub 

Vaihe 3: Käytä MsgBox-toimintoa voidaksesi avata tämänkaltainen viesti “Arvo pyöristetty on:”

Koodi:

 Sub Round_Ex1 () MsgBox "Pyöristetty arvo on:" End Sub 

Vaihe 4: Lisää nyt ”& Round (10.9834, 2)” MsgBox-komennon eteen, niin että pyöristetty arvo näkyy viestiruudussa.

Koodi:

 Sub Round_Ex1 () MsgBox "Pyöristetty arvo on:" & Pyöreä (10.9834, 2) End Sub 

Vaihe 5: Hitsaa F5 tai ylhäällä olevaan paneeliin sijoitettu Suorita-painike tämän koodin suorittamiseksi. Näet tulosteen alla olevan kuvan mukaisesti.

Esimerkki 2 - Pyöristä muuttuja käyttämällä VBA-kierrosta

Vaihe 1: Määritä uusi aliproseduuri VBE: ssä makron tallentamiseksi.

Koodi:

 Sub Round_Ex2 () Loppu Sub 

Vaihe 2: Määritä muuttuja nimeltä roundNumber kaksinkertaiseksi, joka voi pitää pyöristettävän numeron arvona.

Koodi:

 Sub Round_Ex2 () himmentää roundNumber nimellä Double End Sub 

Vaihe 3: Määritä numeroarvo, joka pyöristetään tälle muuttujalle osoitusoperaattorilla.

Koodi:

 Sub Round_Ex2 () himmentää roundNumber kaksinkertaisena round number = 23, 98 End Sub 

Vaihe 4: Pyöristä tämä numero yhdeksi desimaaliksi käyttämällä MsgBox-yhdistelmää yhdessä Pyöreä-toiminnon kanssa.

Koodi:

 Sub Round_Ex2 () himmentää roundNumber As Double roundNumber = 23.98 MsgBox "Pyöristetty numero on:" & Pyöreä (roundNumber, 1) End Sub 

Vaihe 5: Käytetään F5- tai Suorita-painiketta suorittaaksesi tämän koodin ja nähdäksesi tulosteen.

Voit nähdä tulosteen yllä olevan kuvakaappauksen osoittamalla tavalla. Huomaa, että logiikalla ”pyöreästä parilliseen” viimeinen desimaali pyöristetään 10: ksi ja seuraavasta desimaalista tulee 10 itse, minkä vuoksi luku pyöristetään kokonaisluvun lähimpään parilliseen osaan (ts. 24).

Esimerkki 3 - Pyöreän solun arvo käyttämällä VBA-kierrosta

Oletetaan, että pyöristämäsi arvo on tallennettu Excel-taulukon yhteen soluun.

Haluat vain pyöristää tämän arvon kahden desimaalin tarkkuudella.

Vaihe 1: Määritä moduulissa uusi aliproseduuri makron tallentamiseksi.

Koodi:

 Sub Round_Ex3 () Loppu Sub 

Vaihe 2: Kirjoita komento nimellä ”Alue” (“A2”). Arvo = ”. Tämä komento toimii sijaintina, johon lähtö tallennetaan.

Koodi:

 Sub Round_Ex3 () Range ("A2"). Arvo = End Sub 

Vaihe 3: Käytä nyt pyöreää toimintoa solussa A1 olevan arvon pyöristämiseksi ja tuloksen tallentamiseksi soluun A2. Kirjoita seuraava kappale: Pyöreä (Alue (“A1”). Arvo, 2).

Koodi:

 Sub Round_Ex3 () Range ("A2"). Value = Pyöreä (Range ("A1"). Value, 2) End Sub 

Vaihe 4: Paina F5 tai Suorita-painiketta suorittaaksesi tämän koodin ja nähdäksesi tulosteen taulukon solussa A2.

Esimerkki 4 - Pyöristä numero käyttämällä VBA RoundUp -toimintoa

Oletetaan, että haluat pyöristää numeron ylöspäin käyttämällä VBA: ta. Voit tehdä sen käyttämällä WorksheetFunction.RoundUp-toimintoa.

Vaihe 1: Määritä Visual Basic Editorissa uusi aliproseduuri, joka voi tallentaa makroosi.

Koodi:

 Sub Round_Ex4 () Loppu Sub 

Vaihe 2: Määritä kaksi muuttujaa, yksi pitämään numero, jonka haluat pyöristää. Ja toinen tallentaa roundup-tuloksen.

Koodi:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double End Sub 

Vaihe 3: Tallenna arvo muuttujaan numToRound, jonka haluat pyöristää.

Koodi:

 Sub Round_Ex4 () himmennetty numToRound kuin kaksinkertainen himmennys numRoundUp kuten double numeroToRound = 12.7543712 End Sub 

Vaihe 4: Käytä RoundUp -sovellusta pyörittää tämä numero ja tallenna tulos numRoundUp-muuttujaan.

Koodi:

 Sub Round_Ex4 () himmennetty numToRound kaksinkertaisena himmennetty numRoundUp kaksinkertaisena numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) End Sub 

Vaihe 5: Näytä MsgBox-sovelluksella tulosteet viestiruudun alla.

Koodi:

 Sub Round_Ex4 () Dim numToRound Kuten Double Dim numRoundUp Kuten Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Numero pyöristettynä on:" & numRoundUp End Sub 

Vaihe 6: Paina F5 tai Suorita-painiketta suorittaaksesi tämän koodin ja nähdä tulosteen.

Esimerkki 5 - Pyöristä numero alas VBA RoundDown -toiminnolla

Vaihe 1: Määritä uudessa alamenettelyssä kaksi uutta muuttujaa nimillä numToRoundDown ja roundDownNum. Yksi pitää pyöristettävän numeron arvoa ja toinen tallentaa tulosteen numeron pyöristämisen jälkeen.

Koodi:

 Sub Round_Ex5 () himmennetty numToRoundDown kaksinkertaisena himmennyksen roundDownNum kaksinkertaisena loppuna Sub 

Vaihe 2: Määritä arvo, jonka haluat pyöristää alas muuttujalle, jonka nimi on “numToRoundDown”.

Koodi:

 Sub Round_Ex5 () himmennetty numToRoundDown kaksinkertaisena himmentävä roundDownNum kaksinkertaisena numToRoundDown = 7.075711 loppu Sub 

Vaihe 3: Käytä RoundDown-sovellusta pyörittääksesi tämä numero ja tallenna tulos roundDownNum-muuttujaan.

Koodi:

 Sub Round_Ex5 () himmennetty numToRoundDown kaksinkertaisena himmentävä roundDownNum kaksinkertaisena numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) End Sub 

Vaihe 4: Käytä MsgBox-toimintoa osoittaaksesi luvun arvon pyöristettynä.

Koodi:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum Kuten Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Numero pyöristetty on:" & roundDownNum End Sub 

Vaihe 5: Paina F5 tai Suorita-painiketta suorittaaksesi tämän koodin ja nähdä tulosteen viestiruuduna.

Tämä on se artikkelissa. Olemme kiinni käsitteistä VBA Round, Round Up ja Round Down muutamalla esimerkillä.

Muistettavat asiat

  • Tämä toiminto käyttää Bankerin pyöristämismenetelmää numeroiden pyöristämiseen, jotka eroavat hieman todellisesta pyöristämismenetelmästä.
  • Tätä toimintoa käytetään pyöristämään numero liukulukua tai numeroa, jolla on kiinteät desimaalit, tiettyyn määrään paikkoja.
  • Se tarkoittaa, että toiminto pyöristää numeron ylös tai alas riippuen luvusta desimaalin jälkeen.
  • Argumentin desimaalipaikkojen on oltava suurempia tai yhtä suuret kuin nolla.
  • Jos desimaalin_paikat jätetään tyhjiksi, sitä pidetään nollana ja numero pyöristetään lähimpään kokonaislukuun.
  • Jos desimaalin_paikat on asetettu alle nollan, tapahtuu ajoaikavirhe 5. ”Ajonaikainen virhe” 5 ”: Virheellinen toimenpidekutsu tai argumentti”.
  • Ei ole oikeasti ennustettavissa, mikä tämä funktio pyöristää arvon, kun desimaalin jälkeinen numero on 5.
  • Jos yksi tai molemmat Round-funktion argumentit eivät ole numeerisia, funktio palauttaa ajoajan 13 virheen. ”Ajonaikainen virhe” 13 ”: Tyypin epäsuhta”.

Suositellut artikkelit

Tämä on opas VBA-pyöreään toimintaan. Täällä olemme keskustelleet siitä, miten Excel VBA -kierrostoimintoa voidaan käyttää käytännön esimerkkien ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Täydellinen opas VBA-virheestä
  2. Kuinka käyttää VBA-numeromuotoa?
  3. VBA VLOOKUP -toiminto esimerkeillä
  4. VBA-toiminnon luominen Excelissä