Как да използвате оператора VBA Mod (9 примера)

  • Споделя Това
Hugh West

Сайтът VBA Mod не е функция, докато MOD е функция в работен лист на Excel. VBA Mod е оператор, който дели две числа и връща остатък . Операторът Мод е кратка форма на MODULO който се използва при математически операции. Мод оператори обхождане на с плаваща запетая .

В тази статия ще ви покажа различни примери за използване на Excel VBA Mod оператор.

Изтегляне за практикуване

Примери за VBA Mod Operator.xlsm

Основи на функцията VBA Mod: обобщение & Синтаксис

Резюме

Сайтът VBA Mod дели две числа и връща остатък . Където човек е известен като делител друг е номер . Мод разделя оператора номер от делител .

Синтаксис

Номер1 Мод Номер2 (делител)

Аргументи

Аргументи Задължително/незадължително Обяснение
Номер1 Изисква се Това е цифров изразяване
Номер2 Изисква се Това е цифров изразяване

Върната стойност

Сайтът VBA Mod връща оператор остатък .

Версия

Сайтът VBA Mod Операторът е наличен за Excel 2000 и по-нови версии.

Използвам Excel Microsoft 365 за изпълнение на тези примери.

9 примера за използване на функцията VBA Mod в Excel

1. Използване на VBA Mod за получаване на остатъка

Ако искате, можете да получите остатък като използвате VBA Mod оператор.

Позволете ми да ви обясня процедурата,

За начало отворете Разработчик tab>> изберете Visual Basic .

➤ Сега се отваря нов прозорец на Microsoft Visual Basic за приложения ще се появи.

След това, от Вмъкване на >> изберете Модул

Сега въведете следния код в Модул .

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

Тук, в Get_Reminder подпроцедура, декларирах променливата n като Цели числа и го използвахме, за да запазим върнатата стойност на Мод оператор.

След това използвайте MsgBox за да покажете остатък .

Сега, Запазете кода и се върнете в работния лист.

Отново отворете Разработчик tab>> от Вмъкване на >> изберете Бутон от Контроли на формуляра

Сега, Drag на Бутон за да го поставите там, където искате да поставите надписа.

След това можете да дадете име на бутона.

➤ Нарекох го Получаване на напомняне .

⏩ Сега, щракване с десния бутон на мишката контекстно меню от Задаване на Macro ще се появи.

Оттам изберете Присвояване на макрос .

⏩ A диалогов прозорец на Присвояване на макрос ще се появи.

След това изберете Име на макрос и Макроси в .

⏩ Избрах Get_Reminder от Име на макрос и изберете VBA Mod.xlsm от Макроси в .

Накрая щракнете върху ОК .

След това щракнете върху бутона с име Get_Reminder .

Следователно той ще покаже Поле за съобщения с остатък .

Можете да го направите за всички номера за да получите остатък .

Прочетете още: Функция VBA Format в Excel (8 приложения с примери)

2. Използване на препратка към клетките в модула VBA за получаване на остатъка

Чрез използване на Референтна клетка от листа на Excel, можете да получите остатък от VBA Mod .

За да отворите VBA редактор, следвайте стъпките, обяснени в раздел 1.

След това въведете следния код в Модул .

 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 

Тук, в Reminder_Using_CellReference , декларирах променливата n като Цели числа и го използвахме, за да запазим върнатата стойност на Мод оператор.

След това използвайте препратката към клетката B4 като номер1 и C4 като number2 (делител)

След това използвайте MsgBox за да покажете остатък .

Сега, Запазете кода и се върнете в работния лист.

За да поставите Бутон , следвайте стъпките, обяснени в раздел 1.

➤ Нарекох бутона Референтна клетка .

След това щракнете върху Бутон за да стартирате VBA код.

Затова ще получите остатък за използваната референция на клетката.

Свързано съдържание: Как да върнете стойност във функция VBA (както масиви, така и стойности, които не са масиви)

3. Използване на VBA Mod за получаване на остатък от отрицателно число

Сайтът VBA Mod също така поддържа отрицателен номера при изчисляване на остатък .

За да отворите VBA редактор, следвайте стъпките, обяснени в раздел 1.

След това въведете следния код в Модул .

 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 

Тук, в Reminder_From_NegativeNumber, Декларирах променливата n като Цели числа и го използвахме, за да запазим върнатата стойност на Мод оператор.

След това използвайте препратката към клетката B5 като номер1 и C5 като number2 (делител)

След това използвайте MsgBox за да покажете остатък .

Сега, Запазете кода и се върнете в работния лист.

За да поставите Бутон, следвайте стъпките, обяснени в раздел 1.

➤ Нарекох бутона Напомняне от отрицателен брой .

След това щракнете върху Бутон да стартирате VBA код.

Затова ще получите остатък за отрицателно число .

Прочетете още: Как да използваме функцията IsNumeric във VBA (9 примера)

4. Използване на VBA Mod за получаване на остатъка в клетката

Вместо да показвате остатък чрез msg кутия можете да го поставите в клетка с помощта на VBA MOD функция.

За да отворите VBA редактор, следвайте стъпките, обяснени в раздел 1.

След това въведете следния код в Модул .

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

Тук, в s ub-процедура Reminder_in_Cell , използвах ActiveCell.FormulaR1C1 формат за получаване на позицията на ActiveCell .

След това използвайте MOD функция, за да получите остатък .

Също така използвайте Изберете метод.

Сега, Запазете кода и се върнете в работния лист.

За да поставите Бутон и назначете на VBA следвайте стъпките, описани в раздел 1.

➤ Нарекох бутона Напомняне в клетка .

След това изберете D4 клетка.

След това щракнете върху Бутон да стартирате VBA код.

В резултат на това ще получите остатък в избраната клетка.

Като следвате същия процес, ще получите остатък за останалите числа.

Прочетете още: Как да използвате функцията MsgBox в Excel VBA (пълно ръководство)

5. Използване на VBA Mod с целочислен делител & Float Number

В случай че вашият делител е цяло число тип, но вашият номер е в float тогава можете да използвате VBA Mod оператор.

За да отворите VBA редактор, следвайте стъпките, обяснени в раздел 1.

След това въведете следния код в Модул .

 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 

Тук, в R подпроцедура eminder_From_Decimal_Number, Декларирах променливата n като Цели числа и го използвахме, за да запазим върнатата стойност на Мод оператор.

След това използвайте препратката към клетката B5 като номер1 и C5 като number2 (делител)

След това използвайте MsgBox за да покажете остатък .

Сега, Запазете кода и се върнете в работния лист.

За да поставите Бутон , следвайте стъпките, обяснени в раздел 1.

➤ Нарекох бутона Напомняне от десетично число .

След това щракнете върху Бутон да стартирате VBA код.

Затова ще получите остатък за десетично число .

Но има проблем, който VBA закръгля на десетична система . Тук резултатът трябваше да бъде 2.25 но VBA Mod закръгли го до 2 .

Не забравяйте, че ако някой decimal/floating точка е по-голяма от 0.5 в VBA Mod тогава тя ще бъде закръглени до следващата целочислена стойност.

Ако е по-малък от 0.5 в VBA Mod , тогава тя ще бъде закръглени към съществуващата целочислена стойност.

Прочетете още: Как да използвате функцията VBA Int в Excel ( 3 примера)

Подобни четива:

  • Как да използвате функцията IsNull в Excel VBA (5 примера)
  • Използване на функцията VBA Str в Excel (4 примера)
  • Как да използваме функцията VBA Switch (6 подходящи примера)
  • Използване на функцията VBA Len в Excel (4 примера)
  • Как да премахнете дубликатите в лист на Excel (7 метода)

6. Използване на VBA Mod, когато делителят &; числото са десетични дроби

Ако вашият делител и номер и двете са в decimal/float тогава можете да използвате и VBA Mod оператор.

За да отворите VBA редактор, следвайте стъпките, обяснени в раздел 1.

След това въведете следния код в Модул .

 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 

Тук, в подпроцедура Decimal_Both_Divisor_Number, Декларирах променливата n като Цели числа и го използвахме, за да запазим върнатата стойност на Мод оператор.

След това използвайте препратката към клетката B5 като номер1 и C5 като number2 (делител)

След това използвайте MsgBox за да покажете остатък .

Сега, Запазете кода и се върнете в работния лист.

За да поставите Бутон, следвайте стъпките, обяснени в раздел 1.

➤ Нарекох бутона Получете Напомняне от Когато делител & Десетичен номер .

След това щракнете върху Бутон да стартирате VBA код.

Затова ще получите остатък както за десетичен делител и номера .

Но има проблем, който VBA закръглява десетична система . Тук резултатът трябваше да бъде 1.75 но VBA Mod закръгли го до 2 .

Свързано съдържание: Функция VBA EXP в Excel (5 примера)

7. Мод VBA за закръгляне на десетично число, по-голямо от 0,5

Тук ще ви покажа как обхождане работи в VBA Mod .

За да ви демонстрираме десетична система точка проблем, първо ще се изчисли остатък с помощта на Excel MOD функция.

В клетка D4 , въведете следната формула,

=MOD(B6, C6)

Тук използвах B6 като номер C6 като делител .

След това натиснете ВЪВЕДЕТЕ за да получите остатък и ще получите остатък която ще бъде 7.7 .

Сега нека изчислим чрез VBA Мод , за да отворите VBA следвайте стъпките, обяснени в раздел 1.

След това въведете следния код в Модул .

 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 

Тук, в подпроцедура Decimal_Both_Divisor_Number, Декларирах променливата n като Цели числа и го използвахме, за да запазим върнатата стойност на Мод оператор.

След това използвайте препратката към клетката B6 като номер1 и C6 като number2 (делител)

След това използвайте MsgBox за да покажете остатък .

Сега, Запазете кода и се върнете в работния лист.

За да поставите Бутон , следвайте стъпките, обяснени в раздел 1.

➤ Нарекох бутона RoundsUp Десетично число .

След това щракнете върху Бутон за да стартирате VBA код.

Затова ще получите остатък за използваната референция на клетката.

Разгледайте внимателно остатък че VBA Mod върнат. MOD функция за същите върнати стойности 7.7 но VBA Mod върнат оператор 0 . Тъй като VBA закръгляне на стойностите.

Прочетете още: Как да използвате функцията VBA Round в Excel (6 бързи приложения)

8. Определяне на четно или нечетно число

Сайтът VBA Mod определя и Дори или Странно число от даден диапазон.

За да отворите VBA редактор, следвайте стъпките, обяснени в раздел 1.

След това въведете следния код в Модул .

 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 

Тук, в подпроцедура Determine_Even_Or_Odd, Декларирах променливата n като Цели числа .

След това използвах За цикъл, в който запазвам стойността, която декларирах чрез референция към клетка.

След това използвах IF където зададох критериите като n Mod 2 = 0 ако стойността е true, се връща Дори в противен случай Странно .

След това използвайте MsgBox за да покажете изявления .

Сега, Запазете кода и се върнете в работния лист.

За да поставите Бутон , следвайте стъпките, обяснени в раздел 1.

➤ Нарекох бутона Четно или нечетно .

След това щракнете върху Бутон за да стартирате VBA код.

Затова ще разберете коя стойност е Дори и коя от тях е Странно .

Тук, 1 е Странно брой.

Тук, 2 е Дори брой.

Прочетете още: VBA If - Then - Else Statement в Excel (4 примера)

9. Използване на клетъчен диапазон във VBA Mod за получаване на остатъка

Можете също така да използвате диапазон на клетките за да получите остатък като използвате VBA Mod .

За да отворите VBA редактор, следвайте стъпките, обяснени в раздел 1.

След това въведете следния код в Модул .

 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 

Тук, в Подпроцедура Get_Reminder_UsingVBA, Декларирах променливата n като Цели числа .

След това използвах За цикъл, в който запазвам стойността, която декларирах чрез препратка към клетката. Цикълът ще работи за стойностите от редове 4 към 9 .

След това използвайте MsgBox за да покажете остатък .

Сега, Запазете кода и се върнете в работния лист.

За да поставите Бутон , следвайте стъпките, обяснени в раздел 1.

➤ Нарекох бутона Динамична референция на клетката .

След това щракнете върху Бутон за да стартирате VBA код.

Затова ще получите остатък за всички използвани стойности една по една.

Първият е за номер 29 където делител е 3 .

Втората е за номер -47 където делител е 5 .

Цикълът ще работи, докато стигне до ред 9 Петият е за номер 59 където делител е 6 .

Свързано съдържание: Как да използвате функцията VBA Randomize в Excel (5 примера)

Разлика между Excel MOD & VBA Mod

Въпреки че в повечето случаи стойностите на връщане са едни и същи за MOD и функцията VBA Mod все пак в някои случаи резултатът се различава един от друг. Позволете ми да ви покажа разликата между тях.

MOD Функция VBA Mod Оператор
Сайтът MOD функцията връща както Цели числа и Десетична система номера. Мод операторът връща само Цели числа номера.
Докато използвате отрицателен брой в MOD не връща отрицателен знак . Той поддържа отрицателен и след това връща отрицателен знак .

Нещата, които трябва да запомните

🔺 Операторът ще закръгли decimal/floating точки.

Практически раздел

В работната тетрадка съм предоставил лист за упражнения, с който да упражните обяснените примери.

Заключение

В тази статия съм показал 9 примера за Excel VBA Mod Опитах се също така да обхвана причините за честото показване на грешки. Заедно с нещата, които ще трябва да запомните, докато използвате оператора. Чувствайте се свободни да коментирате по-долу за всякакви видове запитвания и предложения.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.