ฟังก์ชันที่กำหนดโดยผู้ใช้ใน Excel VBA
ด้านล่างเราจะดูที่โปรแกรมมา Excel VBA ที่สร้าง a ฟังก์ชันที่กำหนดโดยผู้ใช้. Excel มีชุดของฟังก์ชันมากมาย ในสถานการณ์ส่วนใหญ่ฟังก์ชันเหล่านั้นจะเพียงพอที่จะทำงานได้ ถ้าไม่คุณสามารถสร้างฟังก์ชันของคุณเองได้ว่า User Defined Function หรือ ฟังก์ชัน Excel แบบกำหนดเอง. คุณสามารถเข้าถึง User Defined Function เช่นเดียวกับฟังก์ชัน Excel อื่น ๆ
เราต้องการสร้างฟังก์ชันที่เรียกว่า SUMEVENNUMBERS ซึ่งจะหาผลรวมของจำนวนคู่ของช่วงที่เลือกแบบสุ่ม
สถานการณ์:
ฟังก์ชั่นที่กำหนดโดยผู้ใช้จะต้องวางไว้ในโมดูล
1. เปิด Visual Basic Editor และคลิก Insert, Module
2. เพิ่มบรรทัดรหัสต่อไปนี้:
ชื่อของฟังก์ชันของเราคือ SUMEVENNUMBERS ส่วนหนึ่งระหว่างวงเล็บหมายความว่าเราให้ Excel VBA เป็นช่วงข้อมูล เราตั้งชื่อช่วง rng ของเรา แต่คุณสามารถใช้ชื่อใดก็ได้
3. ต่อไปเราจะประกาศเป็น Range object และเรียกมันว่า cell
4. เราต้องการตรวจสอบเซลล์แต่ละเซลล์ในช่วงที่เลือกแบบสุ่ม (ช่วงนี้สามารถมีขนาดใดก็ได้) ใน Excel VBA คุณสามารถใช้สำหรับแต่ละรอบถัดไปสำหรับนี้ เพิ่มบรรทัดรหัสต่อไปนี้:
Next cell
หมายเหตุ: เซลล์ถูกสุ่มเลือกที่นี่คุณสามารถใช้ชื่อใดก็ได้
5 ต่อไปเราจะตรวจสอบแต่ละค่าในช่วงนี้ว่าเป็นไปได้หรือไม่ เราใช้ตัวดำเนินการ Mod สำหรับนี้ ตัวดำเนินการ Mod จะให้ส่วนที่เหลืออยู่ ดังนั้น 7 mod 2 จะให้ 1 7 หารด้วย 2 (3 ครั้ง) เพื่อให้ส่วนที่เหลือของ 1 มีกล่าวนี้จะง่ายต่อการตรวจสอบว่าจำนวนเป็นไปได้หรือไม่ เฉพาะส่วนที่เหลือของจำนวนหารด้วย 2 คือ 0 จำนวนนี้ก็คือ 8 mod 2 ให้ 0, 8 หารด้วย 2 ครั้ง 4 ครั้งและดังนั้น 8 คือ even. เพิ่มคำสั่ง If ต่อไปนี้ลงในห่วง For Each Next
End If
6. หากคำชี้แจงนี้เป็นความจริงเราจะเพิ่มมูลค่าให้กับ SUMEVENNUMBERS เพิ่มบรรทัดรหัสต่อไปนี้ในคำสั่ง if
7. อย่าลืมปิดฟังก์ชั่น (นอกลูป)
8. ตอนนี้คุณสามารถใช้ฟังก์ชันนี้เช่นเดียวกับฟังก์ชัน Excel อื่น ๆ เพื่อหาผลรวมของจำนวนคู่ของช่วงที่เลือกแบบสุ่ม
ผล:
ทำได้ดี! นั่นคือวิธีที่ผู้ใช้กำหนดเองได้ง่ายใน Excel VBA หมายเหตุ: ฟังก์ชันนี้ใช้ได้เฉพาะในสมุดงานนี้เท่านั้น