Operator VBA MOD - Jak korzystać z programu Excel VBA Modulo? (Przykłady)

Spisie treści

Operator Excel VBA MOD

W VBA MOD jest to samo co w zastosowaniu w matematyce, gdy liczba jest dzielona przez jej dzielnik i otrzymujemy przypomnienie z tego dzielenia, ta funkcja służy do podania nam reszty z dzielenia, to nie jest funkcja w VBA raczej niż jest operatorem.

MOD to nic innego jak MODULO to operacja matematyczna. Jest to dokładnie to samo, co dzielenie, ale wynik jest nieco inny, gdy dzielenie bierze podzieloną kwotę, ale MOD pobiera pozostałą część dzielenia. Na przykład: Jeśli podzielisz 21 przez 2, wynik dzielenia to 10,50 przez MOD to reszta z dzielenia, tj. 1. (Liczba 2 może podzielić tylko 20, a nie 21, więc reszta to 1).

W normalnym programie Excel jest to funkcja, ale w VBA nie jest funkcją. To tylko operator matematyczny. W tym artykule przyjrzymy się szczegółowo temu operatorowi.

Składnia

Przypominam, że to nie jest funkcja, która ma składnię. Dla zrozumienia naszego czytelnika pozwólcie, że wyrażę to słowami.

Numer 1 MOD Numer 2 (Dzielnik)

Liczba 1 to nic innego jak liczba, którą próbujemy podzielić.

Liczba 2 to jest dzielnik, tj. Podzielimy liczbę 1 przez ten dzielnik.

MODUJ wynik podany przez Numer 1 / Numer 2.

Jak korzystać z MOD w VBA?

Przykład 1

Wykonaj poniższe czynności, aby napisać kod.

Krok 1: Utwórz nazwę makra.

Kod:

Sub MOD_Example1 () End Sub

Krok 2: Zdefiniuj jedną ze zmiennych jako „Liczba całkowita ”.

Kod:

Sub MOD_Example1 () Dim i As Integer End Sub

Krok 3: Teraz wykonaj obliczenia jako „i = 20 MOD 2”.

Jak powiedziałem na początku, MOD jest operatorem, a nie funkcją. Więc użyłem słowa MOD, tak jak wpisuję plus (+).

Kod:

Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 End Sub

Krok 4: Teraz przypisz wartość „I” do okna komunikatu.

Kod:

Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 MsgBox i End Sub

Krok 5: Uruchom okno komunikatu z kodem, aby wyświetlić wartość „I.”

Przykład nr 2

Mod w VBA zawsze zwraca wartość całkowitą, tj. Bez miejsc po przecinku, jeśli podasz liczbę w postaci dziesiętnej. Na przykład spójrz na poniższy kod.

Kod:

Sub MOD_Example2 () Dim i As Integer i = 26.25 Mod 3 MsgBox i End Sub

Dzielnik 3 może podzielić 24, więc reszta to 2,25, ale operator MOD zwraca wartość całkowitą, tj. 2, a nie 2,25.

Teraz zmienię liczbę na 26,51 i zobaczę różnicę.

Kod:

Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3 MsgBox i End Sub

Uruchomię ten kod i zobaczę, jaki będzie wynik.

Łał!!! Mamy zero jako odpowiedź. Powód, dla którego otrzymaliśmy zero, ponieważ VBA zaokrągla liczby, tak jak robią to nasi bankierzy, tj. Każdy punkt dziesiętny, który jest większy niż 0,5, zostanie zaokrąglony w górę do następnej wartości całkowitej. W tym przypadku 26,51 jest zaokrąglane w górę do 27.

Ponieważ 3 można podzielić 27 przez 9, nie otrzymamy żadnych pozostałych wartości, więc wartość i jest równa zero.

Teraz podam wartość dzielnika również w miejscach dziesiętnych.

Kod:

Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3.51 MsgBox i End Sub

Krok 6: Uruchom ten kod i zobacz, jaki jest wynik.

Otrzymaliśmy 3 jako odpowiedź, ponieważ 26,51 zostanie zaokrąglone w górę do 27, a wartość dzielnika 3,51 zostanie zaokrąglona w górę do 4.

Więc jeśli podzielisz 27 przez 4, reszta to 3.

Funkcja Excel MOD a operator VBA MOD

Krok 1: Teraz spójrz na różnicę między excelem a operatorem VBA MOD. Mam wartość 54,24, a wartość dzielnika to 10.

Krok 2: Teraz, jeśli zastosuję funkcję MOD, otrzymam wynik jako 4.25.

Krok 3: Ale jeśli wykonasz tę samą operację z VBA, otrzymamy 4 jako resztę, a nie 4.25.

Kod:

Sub MOD_Example2 () Dim i As Integer i = 54.25 Mod 10 MsgBox i End Sub

Krok 4: Uruchom ten kod i zobacz, jaki jest wynik.

Rzeczy do zapamiętania

  • To nie jest funkcja, ale operator arytmetyczny.
  • Jest to zaokrąglenie i zaokrąglenie wartości dziesiętnych w dół, w przeciwieństwie do funkcji MOD w funkcji arkusza.

Interesujące artykuły...