สารบัญ
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 เพื่อแสดง คำสั่ง .
ตอนนี้ บันทึก โค้ด และกลับไปที่แผ่นงาน
ในการแทรก ปุ่ม ให้ทำตามขั้นตอน