Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

Microsoft Excel มาพร้อมฟังก์ชันสำเร็จรูปมากมายที่ทำงานแทนเราได้ส่วนใหญ่ ในส่วนใหญ่ไม่ต้องการฟังก์ชันเพิ่มเติมนอกเหนือจากฟังก์ชันในตัว แต่ถ้าต้องการฟังก์ชันที่ไม่มีในตัว Excel ให้ทำอย่างไร?

Excel อนุญาตให้สร้าง Custom Excel Functions หรือ User Defined Functions ด้วย VBA สร้างฟังก์ชันที่มีฟังก์ชันการทำงานตามต้องการ และเข้าถึงในชีต Excel เป็นฟังก์ชันปกติด้วย "=" ตามด้วยชื่อฟังก์ชัน นี่คือขั้นตอนสร้าง Custom Excel Functions ด้วย VBA

สร้าง Custom Excel Functions

เนื่องจากใช้ VBA ต้องเปิดใช้งานแท็บ "Developer" ก่อน โดยค่าเริ่มต้นไม่เปิด เปิดชีต Excel คลิกปุ่ม Excel > "Excel Options" ติ๊กถูก "Show Developer tab in the Ribbon"

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

เปิด Visual Basic Editor: แท็บ Developer > ไอคอน "Visual Basic"

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

หรือใช้ลัดคีย์บอร์ด "Alt + F11" เปิด VBE ได้เลย ไม่ต้องเปิดแท็บ Developer ก็ได้

พร้อมสร้าง Custom Function แล้ว คลิกขวา "Microsoft Excel Objects" > Insert > Module

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

จะเปิดหน้าต่างว่างสำหรับเขียนโค้ด

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

ก่อนเขียนโค้ด ต้องเข้าใจ syntax สำหรับสร้าง Custom Excel Function:

Function myFunction (arguments) return type
myFunction = some_calculation
End Function

ไม่มีคำสั่ง 'Return' เหมือนภาษาโปรแกรมทั่วไป

ใส่โค้ดในหน้าต่างว่าง ตัวอย่างสร้างฟังก์ชัน "FeesCalculate" คำนวณ '8%' ของค่าที่ส่งเข้า ใช้ return type "Double" เพราะอาจเป็นทศนิยม โค้ดปฏิบัติตาม syntax VBA

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

บันทึกสมุดงาน Excel ด้วยนามสกุล '.xslm' เพื่อใช้ชีตพร้อม Macro หากไม่บันทึกเป็น .xslm จะเกิดข้อผิดพลาด

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

เสร็จแล้ว!

ตอนนี้ใช้ User Defined Function ในชีต Excel เป็นฟังก์ชันปกติด้วย "=" เริ่มพิมพ์ "=" ในเซลล์ จะแสดงฟังก์ชันที่สร้างพร้อมฟังก์ชันในตัว

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

ตัวอย่างการใช้งาน:

วิธีสร้างฟังก์ชัน Excel แบบกำหนดเอง (Custom Excel Functions)

Excel Custom Functions ไม่สามารถเปลี่ยนแปลงสภาพแวดล้อม Excel ได้ จึงมีข้อจำกัด

ข้อจำกัดของ Custom Excel Functions

Custom Excel Functions ไม่สามารถ:

  • แทรก จัดรูปแบบ หรือลบเซลล์บนสเปรดชีต
  • เปลี่ยนค่าของเซลล์อื่น
  • เพิ่มชื่อในสมุดงาน
  • เปลี่ยนชื่อ ลบ ย้าย หรือเพิ่มชีตในสมุดงาน

ยังมีข้อจำกัดอื่นๆ อีกมาก ข้างต้นเป็นตัวอย่างบางส่วน

นี่คือขั้นตอนง่ายๆ ในการสร้าง Custom Excel Functions