Nhà điều hành MOD VBA | Làm thế nào để sử dụng Excel VBA Modulo? (Ví dụ)

Toán tử MOD VBA trong Excel

Trong VBA MOD cũng giống như ứng dụng trong toán học, khi một số bị chia cho số chia của nó và chúng ta nhận được lời nhắc từ phép chia đó, hàm này được sử dụng để cung cấp cho chúng ta phần còn lại từ phép chia, nó không phải là một hàm trong VBA đúng hơn hơn nó là một toán tử.

MOD không là gì ngoài MODULO là một phép toán. Nó hoàn toàn giống với phép chia nhưng kết quả hơi khác ở chỗ phép chia lấy số tiền bị chia nhưng MOD lấy phần còn lại của phép chia. Ví dụ: Nếu bạn chia 21 cho 2 kết quả chia là 10,50 bởi MOD là phần dư của phép chia tức là 1. (Số 2 chỉ có thể chia 20, không phải 21, vì vậy phần dư là 1).

Trong excel thông thường, nó là một hàm nhưng trong VBA nó không phải là một hàm, nó chỉ là một toán tử toán học. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về toán tử này.

Cú pháp

Chỉ xin nhắc bạn đây không phải là một hàm có cú pháp. Đối với sự hiểu biết của người đọc của chúng tôi, hãy để tôi đặt nó trong từ.

 Số 1 MOD Số 2 (Số chia) 

Số 1 không là gì nhưng là số chúng ta đang cố gắng chia.

Số 2 đây là số bị chia tức là chúng ta sẽ chia Số 1 cho số bị chia này.

MOD kết quả được đưa ra bởi Số 1 / Số 2.

Làm thế nào để sử dụng MOD trong VBA?

Bạn có thể tải xuống Mẫu hàm VBA MOD này tại đây - Mẫu hàm VBA MOD

Ví dụ 1

Làm theo các bước dưới đây để viết mã.

Bước 1: Tạo tên macro.

Mã:

 Sub MOD_Example1 () End Sub 

Bước 2: Xác định một trong các biến là “ Số nguyên ”.

Mã:

 Sub MOD_Example1 () Dim i As Integer End Sub 

Bước 3: Bây giờ thực hiện phép tính là “i = 20 MOD 2”

Như tôi đã nói, lúc đầu, MOD là một toán tử, không phải là một hàm. Vì vậy, tôi đã sử dụng từ MOD giống như cách tôi nhập dấu cộng (+).

Mã:

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

Bước 4: Bây giờ gán giá trị của “I” cho hộp thông báo.

Mã:

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

Bước 5: Chạy hộp thông báo mã sẽ hiển thị giá trị của “I”.

Ví dụ số 2

Mod trong vba luôn trả về giá trị số nguyên, tức là không có số thập phân nếu bạn cung cấp số dưới dạng số thập phân. Ví dụ, hãy xem đoạn mã dưới đây.

Mã:

 Sub MOD_Example2 () Dim i As Integer i = 26,25 Mod 3 MsgBox i End Sub 

Số chia 3 có thể chia cho 24 nên phần dư ở đây là 2,25 nhưng toán tử MOD trả về giá trị nguyên tức là 2, không phải 2,25.

Bây giờ tôi sẽ sửa đổi số thành 26,51 và xem sự khác biệt.

Mã:

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

Tôi sẽ chạy đoạn mã này và xem kết quả là gì.

Chà !!! Chúng tôi không có câu trả lời. Lý do chúng tôi nhận được số 0 vì VBA làm tròn các số như các nhân viên ngân hàng của chúng tôi làm, tức là bất kỳ dấu thập phân nào lớn hơn 0,5 sẽ được làm tròn thành giá trị số nguyên tiếp theo. Vì vậy, trong trường hợp này, 26,51 được làm tròn thành 27.

Vì 3 có thể chia 27 cho 9, chúng ta sẽ không nhận được bất kỳ giá trị dư nào, vì vậy giá trị của i bằng không.

Bây giờ tôi sẽ cung cấp giá trị số chia cũng ở dạng dấu thập phân.

Mã:

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

Bước 6: Chạy đoạn mã này và xem kết quả là gì.

Chúng ta có câu trả lời là 3 vì 26,51 sẽ được làm tròn thành 27 và giá trị số chia 3,51 sẽ được làm tròn thành 4.

Vì vậy, nếu bạn chia 27 cho 4 dư là 3.

Hàm MOD trong Excel so với Toán tử MOD VBA

Bước 1:  Bây giờ hãy xem sự khác biệt giữa toán tử excel và VBA MOD. Tôi có giá trị là 54,24 và giá trị số chia là 10.

Bước 2:  Bây giờ Nếu tôi áp dụng chức năng MOD, tôi sẽ nhận được kết quả là 4,25.

Bước 3:  Nhưng nếu bạn thực hiện thao tác tương tự với VBA, chúng ta sẽ nhận được 4 là phần còn lại, không phải 4,25.

Mã:

 Sub MOD_Example2 () Dim i As Integer i = 54,25 Mod 10 MsgBox i End Sub 

Bước 4:  Chạy đoạn mã này và xem kết quả là gì.

Những điều cần ghi nhớ

  • Nó không phải là một hàm mà nó là một toán tử số học.
  • Đây là làm tròn và làm tròn xuống các giá trị thập phân không giống như hàm MOD trong hàm trang tính.

$config[zx-auto] not found$config[zx-overlay] not found