VBA MOD

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. (Numer 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 to funkcja, to tylko operator matematyczny. W tym artykule przyjrzymy się szczegółowo temu operatorowi.

Składnia

Przypominam tylko, że to nie jest funkcja, która ma składnię. Dla zrozumienia naszego czytelnika pozwolę sobie ująć to w słowach.

 Numer 1 MOD Numer 2 (Dzielnik) 

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

Numer 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?

Możesz pobrać ten szablon funkcji VBA MOD tutaj - Szablon funkcji VBA MOD

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 kodu pokaże 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 programem Excel i 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

  • Nie jest funkcją, ale operatorem arytmetycznym.
  • Jest to zaokrąglenie i zaokrąglenie wartości dziesiętnych w dół, w przeciwieństwie do funkcji MOD w funkcji arkusza.