Turinys
Svetainė VBA Mod nėra funkcija, o MOD yra "Excel" darbalapio funkcija. VBA Mod yra operatorius, dalijantis du skaičius ir grąžinantis likutis . Operatorius Mod yra sutrumpinta forma MODULO kuris naudojamas matematinėms operacijoms. Mod operatoriai Apibendrinti . slankiojo kablelio .
Šiame straipsnyje pateiksiu įvairių "Excel" naudojimo pavyzdžių. VBA Mod operatorius.
Atsisiųsti į praktiką
VBA Mod Operator.xlsm pavyzdžiaiVBA mod Funkcijos pagrindai: santrauka & amp; sintaksė
Santrauka
Svetainė VBA Mod operatorius dalina du skaičius ir grąžina likutis . Kai vienas iš jų yra žinomas kaip daliklis kitas yra numeris . Mod operatorius padalina numeris pagal daliklis .
Sintaksė
Skaičius1 Mod Skaičius2 (daliklis)
Argumentai
Argumentai | Privalomas / pasirenkamas | Paaiškinimas |
---|---|---|
Numeris1 | Reikalinga | Tai yra skaitmeninis išraiška |
Numeris2 | Reikalinga | Tai yra skaitmeninis išraiška |
Grąžinama vertė
Svetainė VBA Mod operatorius grąžina likutis .
Versija
Svetainė VBA Mod operatorius skirtas "Excel 2000" ir vėlesnėms versijoms.
Naudoju "Excel "Microsoft 365 įgyvendinti šiuos pavyzdžius.
9 "Excel" VBA mod funkcijos naudojimo pavyzdžiai
1. Naudojant VBA modifikaciją, kad gautumėte likutį
Jei norite, galite gauti likutis naudodami VBA Mod operatorius.
Paaiškinsiu jums procedūrą,
Pirmiausia atidarykite Kūrėjas skirtukas>> pasirinkite "Visual Basic .
➤ Dabar naujas langas "Microsoft Visual Basic for Applications pasirodys.
Toliau, iš Įdėkite >> pasirinkti Modulis
Dabar įveskite šį kodą į Modulis .
Sub Get_Reminder() Dim n As Integer n = 29 Mod 3 MsgBox " 29 Mod 3 yra " & n End Sub
Čia, į Get_Reminder subprocedūra, deklaravau kintamąjį n kaip Sveikasis skaičius ir naudojo jį, kad išsaugotų grąžinamą reikšmę Mod operatorius.
Tada naudokite MsgBox parodyti likutis .
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Vėl atidarykite Kūrėjas skirtukas>> iš Įdėkite >> pasirinkti Mygtukas iš Formos valdikliai
Dabar, Drag . Mygtukas norėdami jį patalpinti ten, kur norite pateikti antraštę.
Tada mygtukui galite suteikti pavadinimą.
➤ Pavadinau jį Gauti priminimą .
⏩ Dabar, dešiniuoju pelės klavišu kontekstinis meniu Priskirti Makro pasirodys.
Iš ten pasirinkite Priskirti makrokomandą .
⏩ A dialogo langas iš Priskirti makrokomandą pasirodys.
Tada pasirinkite Makro pavadinimas ir Makrokomandos .
⏩ Pasirinkau Get_Reminder iš Makro pavadinimas ir pasirinko VBA Mod.xlsm iš Makrokomandos .
Galiausiai spustelėkite GERAI .
Tada spustelėkite mygtuką, pavadintą Get_Reminder .
Taigi, jis rodys msg langelis su likutis .
Galite tai padaryti dėl visų numeriai gauti likutis .
Skaityti daugiau: VBA formato funkcija programoje "Excel" (8 naudojimo būdai ir pavyzdžiai)
2. Ląstelių nuorodų naudojimas VBA modelyje, norint gauti likutį
Naudodami Nuoroda į ląstelę iš "Excel" lapo galite gauti likutis iš VBA Mod .
Norėdami atidaryti VBA redaktorius, atlikite 1 skyriuje aprašytus veiksmus.
Tada įveskite šį kodą į Modulis .
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
Čia Reminder_Using_CellReference , deklaravau kintamąjį n kaip Sveikasis skaičius ir naudojo jį, kad išsaugotų grąžinamą reikšmę Mod operatorius.
Tada naudokite ląstelės nuorodą B4 kaip skaičius1 ir C4 kaip skaičius2 (daliklis)
Tada naudokite MsgBox parodyti likutis .
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Norėdami įterpti Mygtukas , atlikite 1 skyriuje paaiškintus veiksmus.
➤ Pavadinau mygtuką Nuoroda į ląstelę .
Po to spustelėkite Mygtukas paleisti VBA kodas.
Todėl gausite likutis naudojamos ląstelės nuorodą.
Susijęs turinys: Kaip grąžinti reikšmę VBA funkcijoje (ir masyvo, ir ne masyvo reikšmės)
3. Naudojant VBA Mod, iš neigiamo skaičiaus gaunamas likutis
Svetainė VBA Mod taip pat palaiko neigiamas numeriai apskaičiuojant likutis .
Norėdami atidaryti VBA redaktorius, atlikite 1 skyriuje aprašytus veiksmus.
Tada įveskite šį kodą į Modulis .
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
Čia Reminder_From_NegativeNumber, Deklaravau kintamąjį n kaip Sveikasis skaičius ir naudojo jį, kad išsaugotų grąžinamą reikšmę Mod operatorius.
Tada naudokite ląstelės nuorodą B5 kaip skaičius1 ir C5 kaip skaičius2 (daliklis)
Tada naudokite MsgBox parodyti likutis .
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Norėdami įterpti Mygtukas, atlikite 1 skyriuje paaiškintus veiksmus.
➤ Pavadinau mygtuką Priminimas iš neigiamo skaičiaus .
Po to spustelėkite Mygtukas paleisti VBA kodas.
Todėl gausite likutis už neigiamas skaičius .
Skaityti daugiau: Kaip naudoti VBA funkciją IsNumeric (9 pavyzdžiai)
4. VBA modifikacijos naudojimas likutiui ląstelėje gauti
Vietoj to, kad rodytų likutis per msg dėžutė galite įdėti į langelį naudodami VBA MOD funkcija.
Norėdami atidaryti VBA redaktorius, atlikite 1 skyriuje aprašytus veiksmus.
Tada įveskite šį kodą į Modulis .
Sub Reminder_in_Cell() ActiveCell.FormulaR1C1 = "=MOD(RC[-2],RC[-1])" Range("D4").Select End Sub
Čia s ub-procedūra Reminder_in_Cell , naudojau ActiveCell.FormulaR1C1 formatas, kad gautumėte padėtį ActiveCell .
Tada naudokite MOD funkciją, kad gautumėte likutis .
Be to, naudotas Pasirinkite metodas.
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Norėdami įterpti Mygtukas ir priskirti . VBA kodą atlikite 1 skyriuje paaiškintus veiksmus.
➤ Pavadinau mygtuką Priminimas ląstelėje .
Tada pasirinkite D4 ląstelės.
Tada spustelėkite Mygtukas paleisti VBA kodas.
Dėl to gausite likutis pasirinktoje ląstelėje.
Atlikę tą patį procesą, gausite likutis likusius skaičius.
Skaityti daugiau: Kaip naudoti MsgBox funkciją "Excel VBA" (išsamios gairės)
5. Naudojant VBA Mod su sveikojo skaičiaus dalikliu & amp; Float Number
Jei jūsų daliklis yra sveikasis skaičius tipo, bet jūsų numeris yra float tipą, tada galite naudoti VBA Mod operatorius.
Norėdami atidaryti VBA redaktorius, atlikite 1 skyriuje aprašytus veiksmus.
Tada įveskite šį kodą į Modulis .
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
Čia, R eminder_From_Decimal_Number paprocedūra, Deklaravau kintamąjį n kaip Sveikasis skaičius ir naudojo jį, kad išsaugotų grąžinamą reikšmę Mod operatorius.
Tada naudokite ląstelės nuorodą B5 kaip skaičius1 ir C5 kaip skaičius2 (daliklis)
Tada naudokite MsgBox parodyti likutis .
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Norėdami įterpti Mygtukas , atlikite 1 skyriuje paaiškintus veiksmus.
➤ Pavadinau mygtuką Priminimas iš dešimtainio skaičiaus .
Po to spustelėkite Mygtukas paleisti VBA kodas.
Todėl gausite likutis už dešimtainis skaičius .
Tačiau yra problema, kad VBA suapvalina . dešimtainė . Čia rezultatas turėjo būti 2.25 bet VBA Mod suapvalino iki 2 .
Atminkite, jei bet kuris dešimtainė/plaukiojanti taškas yra didesnis už 0.5 į VBA Mod tada jis bus suapvalinta į kitą sveikojo skaičiaus reikšmę.
Jei jis yra mažesnis nei 0.5 į VBA Mod , tada jis bus suapvalinta į esamą sveikojo skaičiaus vertę.
Skaityti daugiau: Kaip naudoti VBA Int funkciją "Excel" programoje ( 3 pavyzdžiai)
Panašūs skaitiniai:
- Kaip naudoti IsNull funkciją "Excel VBA" (5 pavyzdžiai)
- VBA Str funkcijos naudojimas programoje "Excel" (4 pavyzdžiai)
- Kaip naudoti VBA perjungimo funkciją (6 tinkami pavyzdžiai)
- VBA Len funkcijos naudojimas programoje "Excel" (4 pavyzdžiai)
- Kaip pašalinti dublikatus "Excel" lape (7 metodai)
6. Naudojant VBA Mod, kai daliklis &; skaičius yra dešimtainiai skaičiai
Jei jūsų daliklis ir numeris abu yra dešimtainė/plokštinė tipą, taip pat galite naudoti VBA Mod operatorius.
Norėdami atidaryti VBA redaktorius, atlikite 1 skyriuje aprašytus veiksmus.
Tada įveskite šį kodą į Modulis .
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
Čia, į paprocedūra Decimal_Both_Divisor_Number, Deklaravau kintamąjį n kaip Sveikasis skaičius ir naudojo jį, kad išsaugotų grąžinamą reikšmę Mod operatorius.
Tada naudokite ląstelės nuorodą B5 kaip skaičius1 ir C5 kaip skaičius2 (daliklis)
Tada naudokite MsgBox parodyti likutis .
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Norėdami įterpti Mygtukas, atlikite 1 skyriuje paaiškintus veiksmus.
➤ Pavadinau mygtuką Gaukite Priminimas iš Kai daliklis & amp; Skaičius dešimtainės trupmenos .
Po to spustelėkite Mygtukas paleisti VBA kodas.
Todėl gausite likutis abiem atvejais dešimtainis daliklis ir numeriai .
Tačiau yra problema, kad VBA suapvalina dešimtainė . Čia rezultatas turėjo būti 1.75 bet VBA Mod suapvalino iki 2 .
Susijęs turinys: VBA EXP funkcija programoje "Excel" (5 pavyzdžiai)
7. VBA modifikacija dešimtainių skaičių, didesnių nei 0,5, apvalinimui į viršų
Čia parodysiu, kaip Apibendrinti veikia VBA Mod .
Norėdami parodyti jums dešimtainė taškų problema, pirmiausia apskaičiuosiu likutis naudojant "Excel MOD funkcija.
Ląstelėje D4 , įveskite šią formulę,
=MOD(B6, C6)
Čia naudojau B6 kaip numeris C6 kaip daliklis .
Tada paspauskite ĮVESKITE gauti likutis ir gausite likutis kuris bus 7.7 .
Dabar apskaičiuokime VBA Mod , kad atidarytumėte VBA atlikite 1 skyriuje paaiškintus veiksmus.
Tada įveskite šį kodą į Modulis .
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
Čia, į paprocedūra Decimal_Both_Divisor_Number, Deklaravau kintamąjį n kaip Sveikasis skaičius ir naudojo jį, kad išsaugotų grąžinamą reikšmę Mod operatorius.
Tada naudokite ląstelės nuorodą B6 kaip skaičius1 ir C6 kaip skaičius2 (daliklis)
Tada naudokite MsgBox parodyti likutis .
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Norėdami įterpti Mygtukas , atlikite 1 skyriuje paaiškintus veiksmus.
➤ Pavadinau mygtuką RoundsUp Dešimtainis skaičius .
Po to spustelėkite Mygtukas paleisti VBA kodas.
Todėl gausite likutis naudojamos ląstelės nuorodą.
Atidžiai pažvelkite į likutis kad VBA Mod grąžintas. MOD funkcija toms pačioms grąžintoms reikšmėms 7.7 bet VBA Mod grąžintas operatorius 0 . Kadangi VBA suapvalino vertes.
Skaityti daugiau: Kaip naudoti VBA apvalinimo funkciją programoje "Excel" (6 greiti naudojimo būdai)
8. Nustatykite lyginį arba nelyginį skaičių
Svetainė VBA Mod taip pat lemia Net arba Keista skaičių iš tam tikro intervalo.
Norėdami atidaryti VBA redaktorius, atlikite 1 skyriuje aprašytus veiksmus.
Tada įveskite šį kodą į Modulis .
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 & " yra lyginis skaičius!" Else MsgBox n & " yra nelyginis skaičius!" End If Next n End Sub
Čia, į paprocedūra Determine_Even_Or_Odd, Deklaravau kintamąjį n kaip Sveikasis skaičius .
Tada naudojau Tinklalapiui ciklą, kuriame saugau reikšmę, kurią deklaravau per ląstelės nuorodą.
Toliau naudojau IF funkciją, kurioje nustatiau tokius kriterijus n Mod 2 = 0 jei reikšmė yra true, tuomet bus grąžinamas Net teiginys kitaip Keista .
Tada naudokite MsgBox parodyti pareiškimai .
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Norėdami įterpti Mygtukas , atlikite 1 skyriuje paaiškintus veiksmus.
➤ Pavadinau mygtuką Lyginis arba nelyginis .
Po to spustelėkite Mygtukas paleisti VBA kodas.
Todėl sužinosite, kuri reikšmė yra Net ir kuris iš jų yra Keista .
Čia, 1 yra Keista skaičius.
Čia, 2 yra Net skaičius.
Skaityti daugiau: VBA If - Then - Else pareiškimas programoje "Excel" (4 pavyzdžiai)
9. Ląstelių diapazono naudojimas VBA modelyje norint gauti likutį
Taip pat galite naudoti ląstelių diapazonas gauti likutis naudodami VBA Mod .
Norėdami atidaryti VBA redaktorius, atlikite 1 skyriuje aprašytus veiksmus.
Tada įveskite šį kodą į Modulis .
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
Čia, į Get_Reminder_UsingVBA paprocedūra, Deklaravau kintamąjį n kaip Sveikasis skaičius .
Tada naudojau Tinklalapiui ciklą, kuriame laikiau vertę, kurią deklaravau per ląstelės nuorodą. Ciklas veiks eilutėse esančioms vertėms. 4 į 9 .
Tada naudokite MsgBox parodyti likutis .
Dabar, Išsaugoti kodą ir grįžkite į darbalapį.
Norėdami įterpti Mygtukas , atlikite 1 skyriuje paaiškintus veiksmus.
➤ Pavadinau mygtuką Dinaminė ląstelės nuoroda .
Po to spustelėkite Mygtukas paleisti VBA kodas.
Todėl gausite likutis visoms naudojamoms reikšmėms po vieną.
Pirmasis skirtas numeris 29 kur daliklis yra . 3 .
2-asis skirtas numeris -47 kur daliklis yra . 5 .
Ciklas veiks tol, kol pasieks eilutę 9 . Penktasis skirtas numeris 59 kur daliklis yra . 6 .
Susijęs turinys: Kaip naudoti VBA atsitiktinio pasirinkimo funkciją "Excel" programoje (5 pavyzdžiai)
Skirtumas tarp "Excel" MOD ir VBA Mod
Nors daugeliu atvejų grąžinimo reikšmės yra vienodos MOD funkcija ir VBA Mod vis dėlto kai kuriais atvejais rezultatai skiriasi vienas nuo kito. Parodysiu, kuo jie skiriasi.
MOD Funkcija | VBA Mod Operatorius |
---|---|
Svetainė MOD funkcija grąžina abu Sveikasis skaičius ir Dešimtainis numeriai. | Mod operatorius grąžina tik Sveikasis skaičius numeriai. |
Naudojant neigiamas skaičius MOD jis negrąžina neigiamas ženklas . | Jis palaiko neigiamas skaičių ir grąžina neigiamas ženklas . |
Dalykai, kuriuos reikia prisiminti
🔺 Operatorius suapvalins dešimtainė/plaukiojanti taškų.
Praktikos skyrius
Sąsiuvinyje pateikiau pratybų lapą, kuriame galima praktiškai išbandyti šiuos paaiškintus pavyzdžius.
Išvada
Šiame straipsnyje pateikiau 9 "Excel" pavyzdžius. VBA Mod operatorius. Taip pat bandžiau apžvelgti priežastis, dėl kurių dažnai rodomos klaidos. Kartu su dalykais, kuriuos reikės prisiminti naudojant operatorių. Drąsiai komentuokite žemiau bet kokio tipo užklausas ir pasiūlymus.