/ / User Defined Function ใน Excel VBA

ฟังก์ชันที่กำหนดโดยผู้ใช้ใน Excel VBA

ด้านล่างเราจะดูที่โปรแกรมมา Excel VBA ที่สร้าง a ฟังก์ชันที่กำหนดโดยผู้ใช้. Excel มีชุดของฟังก์ชันมากมาย ในสถานการณ์ส่วนใหญ่ฟังก์ชันเหล่านั้นจะเพียงพอที่จะทำงานได้ ถ้าไม่คุณสามารถสร้างฟังก์ชันของคุณเองได้ว่า User Defined Function หรือ ฟังก์ชัน Excel แบบกำหนดเอง. คุณสามารถเข้าถึง User Defined Function เช่นเดียวกับฟังก์ชัน Excel อื่น ๆ

เราต้องการสร้างฟังก์ชันที่เรียกว่า SUMEVENNUMBERS ซึ่งจะหาผลรวมของจำนวนคู่ของช่วงที่เลือกแบบสุ่ม

สถานการณ์:

ฟังก์ชันที่กำหนดโดยผู้ใช้ใน Excel VBA

ฟังก์ชั่นที่กำหนดโดยผู้ใช้จะต้องวางไว้ในโมดูล

1. เปิด Visual Basic Editor และคลิก Insert, Module

2. เพิ่มบรรทัดรหัสต่อไปนี้:

Function SUMEVENNUMBERS(rng As Range)

ชื่อของฟังก์ชันของเราคือ SUMEVENNUMBERS ส่วนหนึ่งระหว่างวงเล็บหมายความว่าเราให้ Excel VBA เป็นช่วงข้อมูล เราตั้งชื่อช่วง rng ของเรา แต่คุณสามารถใช้ชื่อใดก็ได้

3. ต่อไปเราจะประกาศเป็น Range object และเรียกมันว่า cell

Dim cell As Range

4. เราต้องการตรวจสอบเซลล์แต่ละเซลล์ในช่วงที่เลือกแบบสุ่ม (ช่วงนี้สามารถมีขนาดใดก็ได้) ใน Excel VBA คุณสามารถใช้สำหรับแต่ละรอบถัดไปสำหรับนี้ เพิ่มบรรทัดรหัสต่อไปนี้:

For Each cell In rng

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

If cell.Value Mod 2 = 0 Then

End If

6. หากคำชี้แจงนี้เป็นความจริงเราจะเพิ่มมูลค่าให้กับ SUMEVENNUMBERS เพิ่มบรรทัดรหัสต่อไปนี้ในคำสั่ง if

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. อย่าลืมปิดฟังก์ชั่น (นอกลูป)

End Function

8. ตอนนี้คุณสามารถใช้ฟังก์ชันนี้เช่นเดียวกับฟังก์ชัน Excel อื่น ๆ เพื่อหาผลรวมของจำนวนคู่ของช่วงที่เลือกแบบสุ่ม

ผล:

ผลการทำงานที่กำหนดโดยผู้ใช้

ทำได้ดี! นั่นคือวิธีที่ผู้ใช้กำหนดเองได้ง่ายใน Excel VBA หมายเหตุ: ฟังก์ชันนี้ใช้ได้เฉพาะในสมุดงานนี้เท่านั้น

อ่านเพิ่มเติมได้ที่: