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

  • Поделись Этим
Hugh West

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

В этой статье я покажу вам различные примеры использования Excel VBA Mod оператор.

Скачать для практики

Примеры VBA Mod Operator.xlsm

Основы VBA Mod Function: краткое описание & синтаксис

Резюме

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

Синтаксис

Число1 Мод Число2 (делитель)

Аргументы

Аргументы Обязательно/Опционально Пояснение
Номер1 Требуется Это числовой выражение
Номер2 Требуется Это числовой выражение

Возвращаемое значение

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

Версия

Сайт VBA Mod оператор доступен для Excel 2000 и более поздних версий.

Я использую Excel Microsoft 365 для реализации этих примеров.

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

1. Использование модуля VBA для получения остатка

Если вы хотите, вы можете получить остаток с помощью VBA Mod оператор.

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

Для начала откройте Разработчик вкладка>> выбрать Visual Basic .

➤ Теперь в новом окне Microsoft Visual Basic для приложений появится.

Далее, от Вставка >> выбрать Модуль

Теперь введите следующий код в Модуль .

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

Здесь, в Получить_напоминание подпроцедуры, я объявил переменную n в качестве Целое число и использовал его для сохранения возвращаемого значения из Мод оператор.

Затем использовал MsgBox показать остаток .

Сейчас, Сохранить код и вернуться к рабочему листу.

Снова откройте Разработчик вкладка>> от Вставка >> выбрать Кнопка с сайта Управление формами

Сейчас, Перетащите сайт Кнопка чтобы разместить его в том месте, где вы хотите дать надпись.

Далее вы можете дать имя кнопке.

➤ Я назвал его Получить напоминание .

⏩ Сейчас, щелкните правой кнопкой мыши контекстное меню Назначить Макро появится.

Оттуда выберите Назначить макрос .

⏩ A диалоговое окно из Назначить макрос появится.

Затем выберите Имя макроса и Макросы в .

⏩ Я выбрал Получить_напоминание из Имя макроса и выбрал VBA Mod.xlsm с сайта Макросы в .

Наконец, нажмите OK .

Затем нажмите на кнопку с названием Получить_напоминание .

Следовательно, он покажет окно сообщения с остаток .

Вы можете сделать это для всех номера чтобы получить остаток .

Читать далее: Функция форматирования VBA в Excel (8 вариантов использования с примерами)

2. Использование ссылки на ячейку в VBA Mod для получения остатка

С помощью Ссылка на ячейку из листа 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 

Здесь, в Напоминание_Использование_Ссылки_на_ячейки я объявил переменную n в качестве Целое число и использовал его для сохранения возвращаемого значения из Мод оператор.

Далее используется ссылка на ячейку B4 в качестве номер 1 и C4 в качестве число2 (делитель)

Затем использовал MsgBox показать остаток .

Сейчас, Сохранить код и вернуться к рабочему листу.

Чтобы вставить Кнопка выполните действия, описанные в разделе 1.

➤ Я назвал кнопку Ссылка на ячейку .

После этого нажмите на кнопку Кнопка для запуска VBA код.

Таким образом, вы получите остаток для ссылки на используемую ячейку.

Похожий материал: Как вернуть значение в функции VBA (значения из массива и не из массива)

3. Использование модуля VBA для получения остатка от отрицательного числа

Сайт 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 

Здесь, в Напоминание_от_отрицательного_числа, Я объявил переменную n в качестве Целое число и использовал его для сохранения возвращаемого значения из Мод оператор.

Далее используется ссылка на ячейку B5 в качестве номер 1 и C5 в качестве число2 (делитель)

Затем использовал MsgBox показать остаток .

Сейчас, Сохранить код и вернуться к рабочему листу.

Чтобы вставить Кнопка, выполните действия, описанные в разделе 1.

➤ Я назвал кнопку Напоминание от отрицательного числа .

После этого нажмите на кнопку Кнопка запустить VBA код.

Таким образом, вы получите остаток для отрицательное число .

Читать далее: Как использовать функцию VBA IsNumeric (9 примеров)

4. Использование модуля VBA для получения остатка в ячейке

Вместо того чтобы показывать остаток через msg ящик вы можете поместить его в ячейку с помощью кнопки VBA MOD функция.

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

Затем введите следующий код в Модуль .

 Sub Напоминание_в_ячейке() ActiveCell.FormulaR1C1 = "=MOD(RC[-2],RC[-1])" Range("D4").Select End Sub 

Здесь, в s ub-процедура Напоминание_в_ячейке Я использовал ActiveCell.FormulaR1C1 формат для получения позиции ActiveCell .

Затем, используя MOD функцию, чтобы получить остаток .

Кроме того, использовал Выберите метод.

Сейчас, Сохранить код и вернуться к рабочему листу.

Чтобы вставить Кнопка и назначить сайт VBA кода выполните действия, описанные в разделе 1.

➤ Я назвал кнопку Напоминание в ячейке .

Далее выберите D4 клетка.

Затем нажмите на Кнопка запустить VBA код.

В результате вы получите остаток в выбранной ячейке.

Следуя тому же процессу, вы получите остаток для остальных номеров.

Читать далее: Как использовать функцию MsgBox в Excel VBA (полное руководство)

5. использование VBA Mod с целочисленным делителем & плавающее число

В случае, если ваш делитель это целое число тип, но ваш номер находится в 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 в качестве число2 (делитель)

Затем использовал MsgBox показать остаток .

Сейчас, Сохранить код и вернуться к рабочему листу.

Чтобы вставить Кнопка выполните действия, описанные в разделе 1.

➤ Я назвал кнопку Напоминание из десятичного числа .

После этого нажмите на кнопку Кнопка запустить VBA код.

Таким образом, вы получите остаток для десятичное число .

Но есть проблема, которая VBA округляет сайт десятичная дробь Здесь результат должен был быть 2.25 но VBA Mod округлил его до 2 .

Помните, если любой десятичная/плавающая точка больше, чем 0.5 в VBA Mod тогда это будет округлённый до следующего целочисленного значения.

Если оно меньше 0.5 в VBA Mod , тогда это будет округлённый к существующему целочисленному значению.

Читать далее: Как использовать функцию VBA Int в Excel (3 примера)

Похожие чтения:

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

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

Если ваш делитель и номер оба находятся в десятичная/плоская дробь тип, то вы также можете использовать 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 в качестве число2 (делитель)

Затем использовал 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 как делитель .

Затем нажмите ENTER чтобы получить остаток и вы получите остаток который будет 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 в качестве число2 (делитель)

Затем использовал MsgBox показать остаток .

Сейчас, Сохранить код и вернуться к рабочему листу.

Чтобы вставить Кнопка выполните действия, описанные в разделе 1.

➤ Я назвал кнопку RoundsUp Десятичное число .

После этого нажмите на кнопку Кнопка запустить VBA код.

Таким образом, вы получите остаток для ссылки на используемую ячейку.

Внимательно посмотрите на остаток что VBA Mod вернулся. MOD функция для тех же значений, возвращенных 7.7 но VBA Mod возвращённый оператор 0 . Как VBA округлил значения.

Читать далее: Как использовать круглую функцию VBA в 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 & " это четное число!" Else MsgBox n & " это нечетное число!" End If Next n End Sub 

Здесь, в подпроцедура Determine_Even_Or_Odd, Я объявил переменную n в качестве Целое число .

Затем я использовал Для цикл, где я сохранил значение, которое я объявил через ссылку на ячейку.

Далее я использовал ЕСЛИ функцию, в которой я задаю критерии как n Mod 2 = 0 если значение равно true, то возвращается значение Даже утверждение в противном случае Странный .

Затем использовал MsgBox показать заявления .

Сейчас, Сохранить код и вернуться к рабочему листу.

Чтобы вставить Кнопка выполните действия, описанные в разделе 1.

➤ Я назвал кнопку Четные или нечетные .

После этого нажмите на Кнопка запустить VBA код.

Таким образом, вы узнаете, какое значение является Даже и кто из них Странный .

Вот, 1 это Странный число.

Вот, 2 это Даже число.

Читать далее: Выражение VBA Если - Тогда - Иначе в 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 .

2-й - для номер -47 где делитель это 5 .

Цикл будет работать до тех пор, пока не достигнет строки 9 Пятый - для номер 59 где делитель это 6 .

Похожие материалы: Как использовать функцию VBA Randomize в Excel (5 примеров)

Разница между Excel MOD & VBA Mod

Хотя в большинстве случаев возвращаемые значения одинаковы для MOD функция и VBA Mod Однако в некоторых случаях результат отличается друг от друга. Позвольте мне показать вам разницу между ними.

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

О чем следует помнить

🔺 Оператор округлит десятичная/плавающая точки.

Практическая секция

В рабочую тетрадь я включил лист для отработки объясненных примеров.

Заключение

В этой статье я показал 9 примеров использования Excel VBA Mod Оператор. Я также постарался рассказать о причинах частого появления ошибок, а также о том, что нужно помнить при использовании оператора. Не стесняйтесь оставлять комментарии ниже для любых вопросов и предложений.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.