Kuidas kasutada VBA mod-operaatorit (9 näidet)

  • Jaga Seda
Hugh West

The VBA Mod ei ole funktsioon, samas kui MOD on funktsioon Exceli töölehel. VBA Mod on operaator, mis jagab kaks arvu ja tagastab väärtuse jääk Operaator Mod on lühend väljendist MODULO mida kasutatakse matemaatikaoperatsioonides. Mod operaatorid koondamine . ujukoma .

Selles artiklis näitan teile erinevaid näiteid Exceli kasutamise kohta. VBA Mod operaator.

Lae alla praktikasse

VBA Mod Operator.xlsm näited

VBA modifunktsiooni põhitõed: kokkuvõte & süntaks

Kokkuvõte

The VBA Mod operaator jagab kaks arvu ja tagastab jääk . kus üks on tuntud kui divisor teine on number . Mod operaator jagab number poolt divisor .

Süntaks

Number1 Mod Number2 (Jaotur)

Argumendid

Argumendid Kohustuslik/valikuline Selgitus
Number1 Nõutav See on numbriline väljendus
Number2 Nõutav See on numbriline väljendus

Tagastatav väärtus

The VBA Mod operaator tagastab jääk .

Versioon

The VBA Mod operaator on saadaval Exceli 2000 ja uuemate versioonide jaoks.

Ma kasutan Exceli Microsoft 365 nende näidete rakendamiseks.

9 näidet VBA Mod-funktsiooni kasutamise kohta Excelis

1. Kasutades VBA Mod saada jäägid

Kui soovite, võite saada jääk kasutades VBA Mod operaator.

Lubage mul selgitada teile menetlust,

Alustuseks avage Arendaja tab>> valige Visual Basic .

➤ Nüüd, uus aken Microsoft Visual Basic for Applications ilmub.

Edasi, alates Sisesta >> valige Moodul

Nüüd sisestage järgmine kood Moodul .

 Sub Get_Reminder() Dim n As Integer n = 29 Mod 3 MsgBox " 29 Mod 3 is " & n End Sub 

Siin on Get_Reminder alamprotseduur, ma deklareerisin muutuja n nagu Tervearvuline ja kasutas seda, et hoida tagastatud väärtust Mod operaator.

Seejärel kasutas MsgBox näidata jääk .

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Avage taas Arendaja tab>> alates Sisesta >> valige Nupp aadressilt Vormi kontroll

Nüüd, Drag . Nupp et paigutada see sinna, kuhu soovite pealkirja anda.

Järgmisena saate anda nupule nime.

➤ Ma nimetasin selle Hangi meeldetuletus .

⏩ Nüüd, paremklõps hiirega kontekstmenüü Määrata Makro ilmub.

Sealt valige Makro määramine .

⏩ A dialoogiboks aadressilt Makro määramine ilmub.

Seejärel valige Makro nimi ja Makrode kasutamine .

⏩ Ma valisin Get_Reminder alates Makro nimi ja valitud VBA Mod.xlsm aadressilt Makrode kasutamine .

Lõpuks klõpsake OK .

Seejärel klõpsake nupule nimega Get_Reminder .

Seega näitab see msg kast koos jääk .

Saate seda teha kõigi numbrid saada jääk .

Loe edasi: VBA vormingu funktsioon Excelis (8 kasutust koos näidetega)

2. Rakuviite kasutamine VBA Modis, et saada jäägiosa

Kasutades Raku viide Exceli tabelist saate jääk aadressilt VBA Mod .

Avada VBA toimetaja, järgige punktis 1 selgitatud samme.

Seejärel sisestage järgmine kood Moodul .

 Sub Reminder_Using_CellReference() Dim n As Integer n = Range("B4").Value Mod Range("C4").Value MsgBox Range("B4").Value & " Mod " & Range("C4").Value & " is " & n End Sub 

Siinkohal on Reminder_Using_CellReference , deklareerisin muutuja n nagu Tervearvuline ja kasutas seda, et hoida tagastatud väärtust Mod operaator.

Järgmisena kasutasime lahtri viidet B4 nagu number1 ja C4 nagu number2 (jagaja)

Seejärel kasutas MsgBox näidata jääk .

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Sisestada Nupp , järgige punktis 1 selgitatud samme.

➤ Ma nimetasin nupu Raku viide .

Pärast seda klõpsake nuppu Nupp et käivitada VBA kood.

Seetõttu saate te jääk kasutatud lahtri viide.

Seotud sisu: Kuidas tagastada väärtus VBA-funktsioonis (nii massiivi kui ka mitte-massiivi väärtused)

3. VBA modi kasutamine negatiivsest arvust jäägi saamiseks

The VBA Mod toetab ka negatiivne numbrid arvutamisel jääk .

Avada VBA toimetaja, järgige punktis 1 selgitatud samme.

Seejärel sisestage järgmine kood lahtrisse Moodul .

 Sub Reminder_From_NegativeNumber() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Siinkohal on Reminder_From_NegativeNumber, Ma deklareerisin muutuja n nagu Tervearvuline ja kasutas seda, et hoida tagastatud väärtust Mod operaator.

Järgmisena kasutasime lahtri viidet B5 nagu number1 ja C5 nagu number2 (jagaja)

Seejärel kasutas MsgBox näidata jääk .

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Sisestada Nupp, järgige punktis 1 selgitatud samme.

➤ Ma nimetasin nupu Meeldetuletus negatiivsest numbrist .

Pärast seda klõpsake nuppu Nupp et käivitada VBA kood.

Seetõttu saate te jääk jaoks negatiivne arv .

Loe edasi: Kuidas kasutada VBA funktsiooni IsNumeric (9 näidet)

4. VBA modi kasutamine, et saada lahtrisse jääv osa

Selle asemel, et näidata jääk läbi msg kast saate selle paigutada lahtrisse, kasutades funktsiooni VBA MOD funktsioon.

Avaneb VBA toimetaja, järgige punktis 1 selgitatud samme.

Seejärel sisestage järgmine kood lahtrisse Moodul .

 Sub Reminder_in_Cell() ActiveCell.FormulaR1C1 = "=MOD(RC[-2],RC[-1])" Range("D4").Select End Sub 

Siinkohal on s ub-protseduur Reminder_in_Cell , kasutasin ma ActiveCell.FormulaR1C1 formaat, et saada positsiooni ActiveCell .

Seejärel kasutas MOD funktsioon, et saada jääk .

Samuti kasutas Valige meetod.

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Sisestada Nupp ja määrata . VBA kood järgige punktis 1 selgitatud samme.

➤ Ma nimetasin nupu Meeldetuletus rakus .

Seejärel valige D4 rakk.

Seejärel klõpsake nuppu Nupp et käivitada VBA kood.

Selle tulemusena saate te jääk valitud lahtris.

Järgides sama protsessi, saate te sama jääk ülejäänud numbrid.

Loe edasi: Kuidas kasutada MsgBox-funktsiooni Excel VBA-s (täielik juhend)

5. Kasutades VBA Mod koos täisarvu divisor & Float number

Juhul, kui teie divisor on täisarv tüüpi, kuid teie number on float tüüpi, siis saate kasutada VBA Mod operaator.

Avaneb VBA toimetaja, järgige punktis 1 selgitatud samme.

Seejärel sisestage järgmine kood lahtrisse Moodul .

 Sub Reminder_From_Decimal_Number() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Siin, R eminder_From_Decimal_Number alamprotseduur, Ma deklareerisin muutuja n nagu Tervearvuline ja kasutas seda, et hoida tagastatud väärtust Mod operaator.

Järgmisena kasutasime lahtri viidet B5 nagu number1 ja C5 nagu number2 (jagaja)

Seejärel kasutas MsgBox näidata jääk .

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Sisestada Nupp järgige punktis 1 kirjeldatud samme.

➤ Ma nimetasin nupu Meeldetuletus kümnendiku numbrist .

Pärast seda klõpsake nuppu Nupp et käivitada VBA kood.

Seetõttu saate te jääk jaoks kümnendarv .

Kuid on probleem, mis VBA ümardab . detsimaalne Siin pidi tulemus olema 2.25 kuid VBA Mod ümardas selle kuni 2 .

Pea meeles, kui mõni kümnend/muutuv punkt on suurem kui 0.5 aastal VBA Mod siis on see ümardatud järgmisele täisarvule.

Kui see on väiksem kui 0.5 aastal VBA Mod , siis on see ümardatud olemasolevale täisarvu väärtusele.

Loe edasi: Kuidas kasutada VBA Int funktsiooni Excelis ( 3 näidet)

Sarnased lugemised:

  • Kuidas kasutada funktsiooni IsNull Excel VBA-s (5 näidet)
  • VBA Str funktsiooni kasutamine Excelis (4 näidet)
  • Kuidas kasutada VBA lülitusfunktsiooni (6 sobivat näidet)
  • VBA Len-funktsiooni kasutamine Excelis (4 näidet)
  • Kuidas eemaldada duplikaadid Exceli lehel (7 meetodit)

6. VBA Modi kasutamine, kui divisor & arv on mõlemad kümnendikud

Kui teie divisor ja number mõlemad on decimal/float tüüpi, siis võite kasutada ka VBA Mod operaator.

Avada VBA toimetaja, järgige punktis 1 selgitatud samme.

Seejärel sisestage järgmine kood lahtrisse Moodul .

 Sub Decimal_Both_Divisor_Number() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Siin on alamprotseduur Decimal_Both_Divisor_Number, Ma deklareerisin muutuja n nagu Tervearvuline ja kasutas seda, et hoida tagastatud väärtust Mod operaator.

Järgmisena kasutasime lahtri viidet B5 nagu number1 ja C5 nagu number2 (jagaja)

Seejärel kasutas MsgBox näidata jääk .

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Sisestada Nupp, järgige punktis 1 selgitatud samme.

➤ Ma nimetasin nupu Hangi Meeldetuletus alates Kui divisor & Number Decimal .

Pärast seda klõpsake nuppu Nupp et käivitada VBA kood.

Seetõttu saate te jääk nii kümnendosaja ja numbrid .

Kuid on probleem, mis VBA ümardab detsimaalne Siin pidi tulemus olema 1.75 kuid VBA Mod ümardas selle kuni 2 .

Seotud sisu: VBA EXP-funktsioon Excelis (5 näidet)

7. VBA Mod ümardamiseks kümnendarvu suurem kui 0,5

Siinkohal näitan teile, kuidas koondamine töötab VBA Mod .

Et näidata teile detsimaalne punkti probleem, kõigepealt arvutan ma jääk kasutades Exceli MOD funktsioon.

Kärgis D4 , sisestage järgmine valem,

=MOD(B6, C6)

Siin kasutasin ma B6 nagu number C6 kui divisor .

Seejärel vajutage SISESTA saada jääk ja saate jääk mis on 7.7 .

Nüüd arvutame läbi VBA Mod , et avada VBA toimetaja järgib punktis 1 selgitatud samme.

Seejärel sisestage järgmine kood Moodul .

 Sub RoundsUp_Number() Dim n As Integer n = Range("B6").Value Mod Range("C6").Value MsgBox Range("B6").Value & " Mod " & Range("C6").Value & " is " & n End Sub 

Siin on alamprotseduur Decimal_Both_Divisor_Number, Ma deklareerisin muutuja n nagu Tervearvuline ja kasutas seda, et hoida tagastatud väärtust Mod operaator.

Järgmisena kasutasime lahtri viidet B6 nagu number1 ja C6 nagu number2 (jagaja)

Seejärel kasutas MsgBox näidata jääk .

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Sisestada Nupp , järgige punktis 1 selgitatud samme.

➤ Ma nimetasin nupu Ümardab kümnendarv .

Pärast seda klõpsake nuppu Nupp et käivitada VBA kood.

Seetõttu saate te jääk kasutatud lahtri viide.

Vaadake hoolikalt jääk et VBA Mod tagasi. MOD funktsioon samade väärtuste jaoks, mis tagastatakse 7.7 kuid VBA Mod operaatori tagastatud 0 Kuna VBA ümardas väärtused.

Loe edasi: Kuidas kasutada VBA Round funktsiooni Excelis (6 kiiret kasutamist)

8. Määrake paaris või paaritu arv

The VBA Mod määrab ka Isegi või Kummaline number antud vahemikust.

Avaneb VBA toimetaja, järgige punktis 1 selgitatud samme.

Seejärel sisestage järgmine kood lahtrisse Moodul .

 Sub Determine_Even_Or_Odd() Dim n As Integer For n = Range("B4").Value To Range("B8").Value If n Mod 2 = 0 Then MsgBox n & " is an even number!" Else MsgBox n & " is an odd number!" End If Next n End Sub 

Siin on alamprotseduur Determine_Even_Or_Odd, Ma deklareerisin muutuja n nagu Tervearvuline .

Siis kasutasin ma Sest loop, kus ma hoidsin väärtust, mille ma deklareerisin lahtri viite kaudu.

Järgmisena kasutasin ma IF funktsioon, kus ma määrasin kriteeriumid n Mod 2 = 0 kui väärtus on true, siis tagastab see väärtuse Isegi muidu avaldus Kummaline .

Seejärel kasutas MsgBox näidata avaldused .

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Sisestada Nupp järgige punktis 1 kirjeldatud samme.

➤ Ma nimetasin nupu Paarne või paaritu .

Pärast seda klõpsake nuppu Nupp et käivitada VBA kood.

Seega saate teada, milline väärtus on Isegi ja milline neist on Kummaline .

Siin, 1 on Kummaline number.

Siin, 2 on Isegi number.

Loe edasi: VBA If - Then - Else avaldus Excelis (4 näidet)

9. Raku vahemiku kasutamine VBA modis, et saada jäägid

Võite kasutada ka rakkude vahemik saada jääk kasutades VBA Mod .

Avaneb VBA toimetaja, järgige punktis 1 selgitatud samme.

Seejärel sisestage järgmine kood Moodul .

 Sub Get_Reminder_UsingVBA() Dim n As Integer For n = 4 To 9 MsgBox Cells(n, 2).Value Mod Cells(n, 3) Next n End Sub 

Siin on Get_Reminder_UsingVBA alamprotseduur, Ma deklareerisin muutuja n nagu Tervearvuline .

Siis kasutasin ma Sest loop, kus ma hoidsin väärtust, mille deklareerisin lahtriviite kaudu. Loop töötab ridade väärtuste puhul 4 aadressile 9 .

Seejärel kasutas MsgBox näidata jääk .

Nüüd, Salvesta koodi ja minge tagasi töölehele.

Sisestada Nupp järgige punktis 1 kirjeldatud samme.

➤ Ma nimetasin nupu Dünaamiline lahtri viide .

Pärast seda klõpsake nuppu Nupp et käivitada VBA kood.

Seetõttu saate te jääk kõigi kasutatud väärtuste puhul ükshaaval.

Esimene neist on mõeldud number 29 kus divisor on 3 .

2. on mõeldud number -47 kus divisor on 5 .

Loop töötab, kuni jõuab reani 9 . Viies neist on mõeldud number 59 kus divisor on 6 .

Seotud sisu: Kuidas kasutada VBA Randomize funktsiooni Excelis (5 näidet)

Erinevus Exceli MOD & VBA Modi vahel

Kuigi enamikul juhtudel on tagastusväärtused samad, kui on tegemist MOD funktsioon ja VBA Mod operaator veel mõnedel juhtudel tulemus erineb üksteisest. Näitan teile nende erinevust.

MOD Funktsioon VBA Mod Operaator
The MOD funktsioon tagastab nii Tervearvuline ja Detsimaalne numbrid. Mod operaator tagastab ainult Tervearvuline numbrid.
Kasutades negatiivne number sisse MOD see ei tagasta negatiivne märk . See toetab negatiivne numbrid ja tagastab seejärel negatiivne märk .

Asjad, mida meeles pidada

🔺 Operaator ümardab kümnend/muutuv punktid.

Praktika sektsioon

Olen andnud töövihikusse harjutamislehe, et neid selgitatud näiteid harjutada.

Kokkuvõte

Selles artiklis olen näidanud 9 näidet Exceli kohta. VBA Mod operaator. Ma püüdsin ka katta põhjused, et näidata vigu sageli. Koos asjadega, mida peate operaatori kasutamisel meeles pidama. Võite vabalt kommenteerida allpool mis tahes liiki päringuid ja ettepanekuid.

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.