วิธีใช้ตัวดำเนินการ VBA Mod (9 ตัวอย่าง)

  • แบ่งปันสิ่งนี้
Hugh West

VBA Mod ไม่ใช่ฟังก์ชัน ในขณะที่ MOD เป็นฟังก์ชันในแผ่นงาน Excel VBA Mod เป็นโอเปอเรเตอร์ที่หารสองจำนวนและส่งกลับ ส่วนที่เหลือ ตัวดำเนินการ Modulo เป็นรูปแบบย่อของ MODULO ที่ใช้ในการดำเนินการทางคณิตศาสตร์ Mod ตัวดำเนินการ ปัดขึ้น the floating-point .

ในบทความนี้ ผมจะแสดง ตัวอย่างต่างๆ ของการใช้ตัวดำเนินการ Excel VBA Mod

ดาวน์โหลดเพื่อฝึกฝน

ตัวอย่างของตัวดำเนินการ VBA Mod xlsm

พื้นฐานของฟังก์ชัน VBA Mod: สรุป & ไวยากรณ์

สรุป

ตัวดำเนินการ VBA Mod หารสองตัวเลขและส่งกลับ ส่วนที่เหลือ โดยที่ค่าหนึ่งเรียกว่า ตัวหาร อีกค่าหนึ่งเรียกว่า ตัวเลข ตัวดำเนินการ Mod แบ่ง จำนวน ด้วย ตัวหาร

ไวยากรณ์

Number1 Mod Number2 (Divisor)

อาร์กิวเมนต์

อาร์กิวเมนต์ จำเป็น/ ไม่บังคับ คำอธิบาย
หมายเลข 1 จำเป็น มัน เป็น ตัวเลข นิพจน์
Number2 จำเป็น เป็น ตัวเลข expression

Return Value

ตัวดำเนินการ VBA Mod ส่งคืน เศษเหลือ .

เวอร์ชัน

ตัวดำเนินการ VBA Mod พร้อมใช้งานสำหรับ Excel 2000 และใหม่กว่า

ฉันใช้ Excel Microsoft 365 เพื่ออธิบายในหัวข้อที่ 1

➤ ฉันตั้งชื่อปุ่มนี้ว่า คู่หรือคี่ .

หลังจากนั้น คลิกที่ปุ่ม ปุ่ม เพื่อเรียกใช้ รหัส VBA

ดังนั้น คุณจะได้ทราบว่าค่าใดเป็น คู่ และค่าใดเป็น คี่

ที่นี่ 1 คือ คี่ จำนวน

ในที่นี้ 2 คือ คู่ จำนวน

อ่านเพิ่มเติม: VBA If – Then – Else Statement in Excel (4 Examples)

9. การใช้ช่วงเซลล์ใน VBA Mod เพื่อรับส่วนที่เหลือ

คุณยังสามารถใช้ ช่วงเซลล์ เพื่อรับ ส่วนที่เหลือ โดยใช้ VBA Mod .

ในการเปิด 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

ที่นี่ ใน ขั้นตอนย่อย Get_Reminder_UsingVBA ฉันประกาศตัวแปร n เป็น จำนวนเต็ม .

จากนั้น ฉันใช้ลูป สำหรับ โดยที่ฉันเก็บค่าที่ฉันประกาศผ่านการอ้างอิงเซลล์ การวนซ้ำจะทำงานสำหรับค่าจากแถว 4 ถึง 9

จากนั้นใช้ MsgBox เพื่อแสดง ส่วนที่เหลือ .

ตอนนี้ บันทึก รหัสและกลับไปที่แผ่นงาน

หากต้องการแทรก ปุ่ม ให้ทำตามขั้นตอนที่อธิบายในส่วนที่ 1 .

➤ ฉันตั้งชื่อปุ่มว่า Dynamic Cell Reference .

หลังจากนั้น คลิกที่ปุ่ม ปุ่ม เพื่อเรียกใช้ VBA รหัส

ดังนั้น คุณจะได้ ส่วนที่เหลือ สำหรับค่าที่ใช้ทั้งหมดทีละหนึ่ง

ตัวแรกสำหรับ ตัวเลข 29 โดยที่ ตัวหาร คือ 3 .

ตัวที่ 2 เป็นของ หมายเลข -47 โดยที่ ตัวหาร คือ 5 .

ลูปจะทำงานจนกว่าจะถึงแถว 9 ตัวที่ห้าสำหรับ ตัวเลข 59 โดยที่ ตัวหาร คือ 6

เนื้อหาที่เกี่ยวข้อง: วิธีใช้ฟังก์ชันสุ่ม VBA ใน Excel (5 ตัวอย่าง)

ความแตกต่างระหว่าง Excel MOD และ Excel MOD VBA Mod

แม้ว่าในกรณีส่วนใหญ่ ค่าที่ส่งคืนจะเหมือนกันสำหรับฟังก์ชัน MOD และตัวดำเนินการ VBA Mod แต่ในบางกรณีผลลัพธ์ที่ได้ แตกต่างจากกัน ให้ฉันแสดงความแตกต่างระหว่างพวกเขา

MOD Function VBA Mod Operator
ฟังก์ชัน MOD ส่งคืนทั้ง จำนวนเต็ม และ ทศนิยม ตัวเลข Mod ตัวดำเนินการส่งคืนเฉพาะ จำนวนเต็ม ตัวเลข
ในขณะที่ใช้ ตัวเลขที่เป็นลบ ใน MOD จะไม่ส่งคืน เครื่องหมายลบ . สนับสนุน เครื่องหมายลบ ตัวเลข แล้วส่งกลับ เครื่องหมายลบ .

ข้อควรจำ

🔺 ตัวดำเนินการ จะปัดเศษ ทศนิยม/ทศนิยม จุด

ส่วนแบบฝึกหัด

ฉันได้ให้แบบฝึกหัดในสมุดงานเพื่อฝึกตัวอย่างที่อธิบายเหล่านี้

บทสรุป

ในบทความนี้ ฉันได้แสดง 9 ตัวอย่างของตัวดำเนินการ Excel VBA Mod ฉันยังพยายามครอบคลุมเหตุผลที่แสดงข้อผิดพลาดบ่อยครั้ง พร้อมกับสิ่งที่คุณจะต้องจำไว้ในขณะที่ใช้งานโอเปอเรเตอร์ อย่าลังเลที่จะแสดงความคิดเห็นด้านล่างสำหรับคำถามและข้อเสนอแนะประเภทใดก็ได้

นำตัวอย่างเหล่านี้ไปใช้

9 ตัวอย่างการใช้ฟังก์ชัน VBA Mod ใน Excel

1. การใช้ VBA Mod เพื่อรับส่วนที่เหลือ

หากต้องการ คุณจะได้รับ ส่วนที่เหลือ โดยใช้ตัวดำเนินการ VBA Mod

ให้ฉันอธิบายขั้นตอนให้คุณฟัง

เริ่มต้นด้วย เปิด ผู้พัฒนา แท็บ >> เลือก Visual Basic .

➤ ตอนนี้ หน้าต่างใหม่ของ Microsoft Visual Basic for Applications จะปรากฏขึ้น

ถัดไป จาก แทรก >> เลือก โมดูล

ตอนนี้ พิมพ์โค้ดต่อไปนี้ใน โมดูล .

2888

ที่นี่ ในกระบวนงานย่อย Get_Reminder ฉันประกาศตัวแปร n เป็น จำนวนเต็ม และใช้เก็บค่าที่ส่งคืนของ Mod ตัวดำเนินการ

จากนั้นใช้ MsgBox เพื่อแสดง ส่วนที่เหลือ .

ตอนนี้ บันทึก รหัสและกลับไปที่แผ่นงาน

อีกครั้ง เปิดแท็บ นักพัฒนาซอฟต์แวร์ >> จาก แทรก >> เลือก ปุ่ม จาก การควบคุมแบบฟอร์ม

ตอนนี้ ลาก ปุ่ม ปุ่ม ไปที่ วางไว้ในตำแหน่งที่คุณต้องการให้คำบรรยาย

ถัดไป คุณสามารถตั้งชื่อปุ่มได้

➤ ฉันตั้งชื่อมันว่า รับการแจ้งเตือน .

⏩ ตอนนี้ คลิกขวาที่เมาส์ เมนูบริบทของ กำหนด มาโคร จะปรากฏขึ้น

จากนั้นเลือก กำหนดมาโคร .

กล่องโต้ตอบ ของ กำหนดมาโคร จะปรากฏขึ้น .

จากนั้นเลือก ชื่อมาโคร และ มาโครใน

⏩ ฉันเลือก Get_Reminder จาก ชื่อมาโคร และเลือก VBA Mod.xlsm จาก มาโครใน .

สุดท้าย คลิก ตกลง .

จากนั้นคลิกที่ปุ่มชื่อ Get_Reminder .

ดังนั้น มันจะแสดง กล่องข้อความ พร้อมกับ ส่วนที่เหลือ .

คุณสามารถทำได้สำหรับ ตัวเลขทั้งหมด เพื่อให้ได้ ส่วนที่เหลือ

อ่านเพิ่มเติม: ฟังก์ชันรูปแบบ VBA ใน Excel (8 ใช้กับตัวอย่าง)

2. การใช้การอ้างอิงเซลล์ใน VBA Mod เพื่อรับส่วนที่เหลือ

โดยใช้ การอ้างอิงเซลล์ จากแผ่นงาน Excel คุณจะได้รับ ส่วนที่เหลือ จาก VBA Mod

ในการเปิด ตัวแก้ไข VBA ทำตามขั้นตอนที่อธิบายในส่วนที่ 1

จากนั้น พิมพ์รหัสต่อไปนี้ใน โมดูล .

6022

ที่นี่ ใน Reminder_Using_CellReference ฉันประกาศตัวแปร n เป็น จำนวนเต็ม และใช้เก็บค่าที่ส่งคืนของ Mod ตัวดำเนินการ

ถัดไป ใช้การอ้างอิงเซลล์ B4 เป็น number1 และ C4 เป็น number2 (ตัวหาร)

จากนั้นใช้ MsgBox เพื่อแสดง ส่วนที่เหลือ .

ตอนนี้ บันทึก รหัสและกลับไปที่แผ่นงาน

เมื่อต้องการแทรก ปุ่ม ทำตามขั้นตอนที่อธิบายในส่วนที่ 1

➤ ฉันตั้งชื่อปุ่มนี้ว่า การอ้างอิงเซลล์ .

หลังจากนั้น คลิกที่ปุ่ม ปุ่ม เพื่อเรียกใช้ VBA รหัส

ดังนั้น คุณจะได้รับ ส่วนที่เหลือ สำหรับการอ้างอิงเซลล์ที่ใช้

เนื้อหาที่เกี่ยวข้อง: วิธีการ คืนค่าในฟังก์ชัน VBA (ทั้งค่าอาร์เรย์และค่าที่ไม่ใช่อาร์เรย์)

3. การใช้ VBA Mod เพื่อรับเศษเหลือจากจำนวนลบ

The VBA Mod ยังสนับสนุน ค่าลบ ตัวเลข ในขณะที่คำนวณ ส่วนที่เหลือ

ในการเปิด VBA editor ทำตามขั้นตอนที่อธิบายในส่วนที่ 1

จากนั้น พิมพ์รหัสต่อไปนี้ใน โมดูล

5494

ที่นี่ ใน Reminder_From_NegativeNumber, ฉันประกาศตัวแปร n เป็น จำนวนเต็ม และใช้มันเพื่อเก็บค่าที่ส่งคืนของตัวดำเนินการ Mod <3

ถัดไป ใช้การอ้างอิงเซลล์ B5 เป็น number1 และ C5 เป็น number2 (ตัวหาร)

จากนั้นใช้ MsgBox เพื่อแสดง ส่วนที่เหลือ .

ตอนนี้ บันทึก รหัสและกลับไปที่แผ่นงาน

ในการแทรกปุ่ม ทำตามขั้นตอนที่อธิบายในหัวข้อที่ 1

➤ ฉันตั้งชื่อว่า ปุ่ม e การแจ้งเตือนจากจำนวนลบ .

หลังจากนั้น คลิกที่ปุ่ม ปุ่ม เพื่อเรียกใช้โค้ด VBA

ดังนั้น คุณจะได้ เศษเหลือ สำหรับ จำนวนลบ .

อ่านเพิ่มเติม: วิธีใช้ฟังก์ชัน VBA IsNumeric (9 ตัวอย่าง)

4. การใช้ VBA Mod เพื่อรับส่วนที่เหลือในเซลล์

แทนที่จะแสดง ส่วนที่เหลือ ผ่าน msg กล่อง คุณสามารถวางไว้ในเซลล์โดยใช้ฟังก์ชัน VBA MOD

เพื่อเปิด VBA ให้ทำตามขั้นตอนที่อธิบายในส่วนที่ 1

จากนั้น พิมพ์โค้ดต่อไปนี้ใน โมดูล

1951

ที่นี่ ใน s ub-procedure Reminder_in_Cell ฉันใช้รูปแบบ ActiveCell.FormulaR1C1 เพื่อรับตำแหน่งของ ActiveCell .

จากนั้น ใช้ฟังก์ชัน MOD เพื่อรับ ส่วนที่เหลือ .

นอกจากนี้ยังใช้ เลือก เมธอด

ตอนนี้ , บันทึก โค้ด และกลับไปที่แผ่นงาน

เมื่อต้องการแทรก ปุ่ม และ กำหนด รหัส VBA ทำตามขั้นตอนที่อธิบายในหัวข้อที่ 1

➤ ฉันตั้งชื่อปุ่มว่า Reminder in Cell .

ถัดไป เลือกเซลล์ D4 <3

จากนั้น คลิกที่ปุ่ม ปุ่ม เพื่อเรียกใช้โค้ด VBA

ดังนั้น คุณจะได้รับ ส่วนที่เหลือ ในเซลล์ที่เลือก

เมื่อทำตามขั้นตอนเดียวกัน คุณจะได้รับ ส่วนที่เหลือ สำหรับส่วนที่เหลือของ ตัวเลข.<3

อ่านเพิ่มเติม: วิธีใช้ฟังก์ชัน MsgBox ใน Excel VBA (คำแนะนำฉบับสมบูรณ์)

5. การใช้ VBA Mod กับตัวหารจำนวนเต็ม & จำนวนลอย

ในกรณีที่ ตัวหาร ของคุณเป็น จำนวนเต็ม ประเภท แต่ ตัวเลข ของคุณอยู่ใน จำนวนจริง พิมพ์ จากนั้นคุณสามารถใช้ตัวดำเนินการ VBA Mod ได้

หากต้องการเปิดตัวแก้ไข VBA ให้ทำตามขั้นตอนที่อธิบายไว้ในส่วน1.

จากนั้น พิมพ์รหัสต่อไปนี้ใน โมดูล

8920

ที่นี่ ในย่อย R eminder_From_Decimal_Number -procedure ฉันประกาศตัวแปร n เป็น จำนวนเต็ม และใช้มันเพื่อเก็บค่าที่ส่งคืนของตัวดำเนินการ Mod

ถัดไป ใช้การอ้างอิงเซลล์ B5 เป็น number1 และ C5 เป็น number2 (ตัวหาร)

จากนั้นใช้ MsgBox เพื่อแสดง ส่วนที่เหลือ .

ตอนนี้ บันทึก รหัส และกลับไปที่แผ่นงาน

เพื่อแทรก ปุ่ม ทำตามขั้นตอนที่อธิบายในส่วนที่ 1

➤ ฉันตั้งชื่อปุ่มว่า Reminder From Decimal Number .

หลังจากนั้น คลิกที่ปุ่ม ปุ่ม เพื่อเรียกใช้โค้ด 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 Switch (6 ตัวอย่างที่เหมาะสม)
  • ใช้ฟังก์ชัน VBA Len ใน Excel (4 ตัวอย่าง)
  • วิธีลบรายการที่ซ้ำกันในแผ่นงาน Excel (7 วิธี)

6. การใช้ VBA Mod เมื่อตัวหาร & ตัวเลขเป็นทศนิยมทั้งคู่

หาก ตัวหาร และ ตัวเลข ของคุณอยู่ในประเภท ทศนิยม/ทศนิยม คุณสามารถใช้ ตัวดำเนินการ VBA Mod

ในการเปิดโปรแกรมแก้ไข VBA ให้ทำตามขั้นตอนที่อธิบายไว้ในส่วนที่ 1

จากนั้น พิมพ์รหัสต่อไปนี้ในช่อง โมดูล .

6487

ที่นี่ ใน ขั้นตอนย่อย Decimal_Both_Divisor_Number ฉันประกาศตัวแปร n เป็น จำนวนเต็ม และใช้เก็บค่าที่ส่งคืนของตัวดำเนินการ Mod

ถัดไป ใช้การอ้างอิงเซลล์ B5 เป็น number1 และ C5 เป็น number2 (ตัวหาร)

จากนั้นใช้ MsgBox เพื่อแสดง ส่วนที่เหลือ

ตอนนี้ บันทึก รหัสและกลับไปที่แผ่นงาน

ในการแทรกปุ่ม ทำตามขั้นตอนที่อธิบายในส่วนที่ 1

➤ ฉันตั้งชื่อปุ่ม รับ เตือนความจำจากเมื่อตัวหาร & Number Decimal .

หลังจากนั้น คลิกที่ปุ่ม ปุ่ม เพื่อเรียกใช้โค้ด VBA

ดังนั้น คุณจะได้รับ เศษเหลือ ทั้ง ตัวหารทศนิยม และ ตัวเลข .

แต่มีปัญหาว่า VBA ปัดขึ้น ทศนิยม ที่นี่ ผลลัพธ์ควรเป็น 1.75 แต่ VBA Mod ปัดเศษเป็น 2

เนื้อหาที่เกี่ยวข้อง:<2 ฟังก์ชัน VBA EXP ใน Excel (5 ตัวอย่าง)

7. VBA Mod เพื่อปัดเศษทศนิยมที่มากกว่า 0.5

ที่นี่ ฉันจะ แสดงให้คุณเห็นว่า ปัดเศษขึ้น ทำงานอย่างไรใน VBA Mod

เพื่อแสดงให้คุณเห็นถึงปัญหาจุด ทศนิยม ก่อนอื่นฉันจะคำนวณ ส่วนที่เหลือ โดยใช้ฟังก์ชัน Excel MOD

ในเซลล์ D4 พิมพ์สูตรต่อไปนี้

=MOD(B6, C6)

ในที่นี้ ผมใช้ B6 เป็น หมายเลข C6 เป็น ตัวหาร .

จากนั้น กด ENTER เพื่อรับ ส่วนที่เหลือ และคุณจะได้ ส่วนที่เหลือ ซึ่งจะเป็น 7.7 .

ตอนนี้ ลองคำนวณผ่าน VBA Mod เพื่อเปิดตัวแก้ไข VBA ตามขั้นตอนที่อธิบายในส่วนที่ 1

จากนั้น พิมพ์โค้ดต่อไปนี้ใน โมดูล .

7926

ที่นี่ ใน ขั้นตอนย่อย Decimal_Both_Divisor_Number ฉันประกาศ ตัวแปร e n เป็น จำนวนเต็ม และใช้เพื่อเก็บค่าที่ส่งคืนของตัวดำเนินการ Mod

ถัดไป ใช้การอ้างอิงเซลล์ B6 เป็น number1 และ C6 เป็น number2 (ตัวหาร)

จากนั้นใช้ MsgBox เพื่อแสดง ส่วนที่เหลือ .

ตอนนี้ บันทึก โค้ดและกลับไปที่แผ่นงาน

หากต้องการแทรก ปุ่ม ให้ทำตาม เดอะขั้นตอนที่อธิบายไว้ในส่วนที่ 1

➤ ฉันตั้งชื่อปุ่ม ปัดเศษขึ้นเลขทศนิยม .

หลังจากนั้น คลิกที่ปุ่ม ปุ่ม เพื่อเรียกใช้ VBA รหัส

ดังนั้น คุณจะได้รับ ส่วนที่เหลือ สำหรับการอ้างอิงเซลล์ที่ใช้

ดูให้ดี ที่ ส่วนที่เหลือ ที่ VBA Mod ส่งคืน ฟังก์ชัน MOD สำหรับค่าเดียวกันส่งคืน 7.7 แต่ตัวดำเนินการ VBA Mod ส่งคืน 0 เนื่องจาก VBA ปัดเศษค่า

อ่านเพิ่มเติม: วิธีใช้ฟังก์ชันปัดเศษ VBA ใน Excel (6 การใช้งานด่วน)

8. กำหนดเลขคู่หรือเลขคี่

ตัว VBA Mod ยังกำหนดเลข เลขคู่ หรือ เลขคี่ ด้วย จากช่วงที่กำหนด

หากต้องการเปิดตัวแก้ไข VBA ให้ทำตามขั้นตอนที่อธิบายในหัวข้อที่ 1

จากนั้น พิมพ์รหัสต่อไปนี้ใน โมดูล .

2446

ที่นี่ ใน ขั้นตอนย่อย Detein_Even_Or_Odd ฉันประกาศตัวแปร n เป็น จำนวนเต็ม .

จากนั้น ฉันใช้ สำหรับ วนซ้ำโดยที่ฉันเก็บค่าที่ฉันประกาศผ่านการอ้างอิงเซลล์

ถัดไป ฉันใช้ IF ฟังก์ชันที่ฉันตั้งเกณฑ์เป็น n Mod 2 = 0 ถ้าค่าเป็นจริง มันจะส่งกลับคำสั่ง คู่ มิฉะนั้น คี่ .

จากนั้นใช้ MsgBox เพื่อแสดง คำสั่ง .

ตอนนี้ บันทึก โค้ด และกลับไปที่แผ่นงาน

ในการแทรก ปุ่ม ให้ทำตามขั้นตอน

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง