บทช่วยสอนฟังก์ชัน Excel VBA: ส่งคืน การโทร ตัวอย่าง

ฟังก์ชั่นคืออะไร?

ฟังก์ชั่นคือส่วนของโค้ดที่ทำงานเฉพาะและส่งกลับผลลัพธ์ ฟังก์ชันส่วนใหญ่จะใช้เพื่อดำเนินงานที่ซ้ำๆ เช่น การจัดรูปแบบข้อมูลสำหรับเอาต์พุต การคำนวณ เป็นต้น

สมมติว่าคุณกำลังพัฒนาโปรแกรมคำนวณดอกเบี้ยเงินกู้ คุณสามารถสร้างฟังก์ชันที่ยอมรับจำนวนเงินกู้และระยะเวลาคืนทุนได้ จากนั้นฟังก์ชันจะสามารถใช้จำนวนเงินกู้และระยะเวลาคืนทุนเพื่อคำนวณดอกเบี้ยและส่งกลับมูลค่าได้

ทำไมต้องใช้ฟังก์ชัน

ข้อดีของการใช้ฟังก์ชันจะเหมือนกับข้อดีในส่วนข้างต้นว่าเหตุใดจึงต้องใช้รูทีนย่อย

กฎของการตั้งชื่อฟังก์ชัน

กฎสำหรับการตั้งชื่อฟังก์ชันเหมือนกับกฎในส่วนข้างต้นเกี่ยวกับกฎสำหรับการตั้งชื่อรูทีนย่อย

ไวยากรณ์ VBA สำหรับการประกาศฟังก์ชัน

Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)
    myFunction = arg1 + arg2
End Function

ที่นี่ในไวยากรณ์

รหัส การกระทำ
  • “ฟังก์ชั่นส่วนตัว myFunction(…)”
  • ที่นี่คีย์เวิร์ด "Function" ใช้เพื่อประกาศฟังก์ชันชื่อ "myFunction" และเริ่มต้นเนื้อหาของฟังก์ชัน
  • คำหลัก 'ส่วนตัว' ใช้เพื่อระบุขอบเขตของฟังก์ชัน
  • “ByVal arg1 เป็นจำนวนเต็ม, ByVal arg2 เป็นจำนวนเต็ม”
  • ประกาศพารามิเตอร์สองตัวของชนิดข้อมูลจำนวนเต็มที่ชื่อว่า 'arg1' และ 'arg2'
  • ฟังก์ชั่นของฉัน = arg1 + arg2
  • ประเมินนิพจน์ arg1 + arg2 และกำหนดผลลัพธ์ให้กับชื่อของฟังก์ชัน
  • “สิ้นสุดฟังก์ชั่น”
  • “End Sub” ใช้เพื่อสิ้นสุดเนื้อหาของฟังก์ชัน

ฟังก์ชั่นแสดงให้เห็นด้วยตัวอย่าง:

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

  1. สร้างส่วนติดต่อผู้ใช้
  2. เพิ่มฟังก์ชั่น
  3. เขียนโค้ดสำหรับปุ่มคำสั่ง
  4. ทดสอบรหัส

ขั้นตอน 1) ส่วนติดต่อผู้ใช้

เพิ่มปุ่มคำสั่งลงในแผ่นงานดังที่แสดงด้านล่าง

ฟังก์ชั่น VBA และรูทีนย่อย

ตั้งค่าคุณสมบัติของ CommanButton1 ดังต่อไปนี้

S / N Control อสังหาริมทรัพย์ ความคุ้มค่า
1 ปุ่มคำสั่ง1 Name btnเพิ่มNumbers
2 คำบรรยายภาพ เพิ่ม Numbers ฟังก์ชัน


อินเทอร์เฟซของคุณควรปรากฏดังนี้

ฟังก์ชั่น VBA และรูทีนย่อย

ขั้นตอน 2) รหัสฟังก์ชั่น

  1. กด Alt + F11 เพื่อเปิดหน้าต่างโค้ด
  2. เพิ่มโค้ดดังต่อไปนี้:
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

ที่นี่ในรหัส

รหัส การกระทำ
  • “ฟังก์ชั่นส่วนตัวเพิ่มNumbers(... ) "
  • ประกาศฟังก์ชันส่วนตัว “เพิ่มNumbers” ที่ยอมรับพารามิเตอร์จำนวนเต็มสองตัว
  • “ByVal หมายเลขแรกเป็นจำนวนเต็ม ByVal หมายเลขที่สองเป็นจำนวนเต็ม”
  • ประกาศตัวแปรพารามิเตอร์สองตัวคือ firstNumber และ secondNumber
  • "เพิ่มNumbers = หมายเลขแรก + หมายเลขที่สอง”
  • โดยจะเพิ่มค่า firstNumber และ SecondNumber และกำหนดผลรวมที่จะบวกNumbers.

ขั้นตอนที่ 3) เขียนโค้ดที่เรียกใช้ฟังก์ชัน

  1. คลิกขวาที่ btnAddNumbers_คลิกปุ่มคำสั่ง
  2. เลือก ดูโค้ด
  3. เพิ่มโค้ดดังต่อไปนี้:
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

ที่นี่ในรหัส

รหัส การกระทำ
“ข่าวสารเกี่ยวกับBox เพิ่มNumbers(หนึ่ง)"
  • มันเรียกฟังก์ชันเพิ่มNumbers และส่งผ่าน 2 และ 3 เป็นพารามิเตอร์ ฟังก์ชันส่งคืนผลรวมของตัวเลขสองตัวห้า (5)

ขั้นตอน 4) รันโปรแกรมจะได้ผลลัพธ์ดังนี้

ฟังก์ชั่น VBA และรูทีนย่อย

ดาวน์โหลด Excel ที่มีโค้ดด้านบน

ดาวน์โหลดโค้ด Excel ข้างต้น

สรุป

  • ฟังก์ชันคือโค้ดชิ้นหนึ่งที่ทำงานเฉพาะเจาะจง ฟังก์ชันส่งคืนค่าหลังการดำเนินการ
  • ทั้งรูทีนย่อยและฟังก์ชันต่างๆ เสนอการนำโค้ดกลับมาใช้ใหม่ได้
  • ทั้งรูทีนย่อยและฟังก์ชันช่วยแบ่งโค้ดขนาดใหญ่ออกเป็นโค้ดขนาดเล็กที่สามารถจัดการได้