Windows

วิธีการสร้าง Custom Excel Functions โดยใช้ VBA

Create a Custom Excel Function to Replace Nested IF Functions

Create a Custom Excel Function to Replace Nested IF Functions

สารบัญ:

Anonim

Microsoft Excel Pack มาพร้อมกับฟังก์ชันที่กำหนดไว้ล่วงหน้าซึ่งทำงานได้สูงสุดสำหรับเรา เราไม่จำเป็นต้องมีฟังก์ชั่นใด ๆ นอกเหนือจากฟังก์ชันที่มีอยู่ภายในในกรณีส่วนใหญ่ แต่ถ้าคุณต้องการฟังก์ชันบางอย่างที่ไม่ได้ถูกจัดเตรียมโดยฟังก์ชัน Excel ที่กำหนดไว้ล่วงหน้า

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

สร้าง Custom Excel Functions

เนื่องจากเราจะสร้าง Custom Excel Function โดยใช้ VBA เราจำเป็นต้องเปิดใช้งานแท็บ "Developer" ก่อน โดยค่าเริ่มต้นไม่ได้เปิดใช้งานและเราสามารถเปิดใช้งานได้ เปิด Excel Sheet และคลิกที่ปุ่ม Excel แล้วคลิกที่ "Excel Options" จากนั้นทำเครื่องหมายที่ช่องข้าง " แสดงแท็บนักพัฒนาซอฟต์แวร์ในริบบิ้น "

ตอนนี้เพื่อเปิด Visual Basic Editor ให้แตะที่แท็บนักพัฒนาซอฟต์แวร์แล้วคลิกที่ไอคอน "Visual Basic" เพื่อเปิดหน้าต่างภาพ Basic Editor

คุณสามารถใช้แป้นพิมพ์ลัด " Alt + F11 " เพื่อเปิดตัว Visual Basic Editor ถ้าคุณใช้แป้นพิมพ์ลัดนี้คุณไม่จำเป็นต้องเปิดใช้งานแท็บนักพัฒนาอีกด้วย

ตอนนี้ทุกอย่างถูกตั้งค่าไว้เพื่อสร้าง Custom Excel Function คลิกขวาที่ "Microsoft Excel Objects" แล้วคลิกที่ "Insert" จากนั้นคลิกที่ "Module"

เปิดหน้าต่างธรรมดาซึ่งเป็นที่ที่เขียนโค้ด

ก่อนเขียนโค้ดคุณต้อง เพื่อทำความเข้าใจไวยากรณ์ตัวอย่างที่ต้องปฏิบัติตามเพื่อสร้าง Custom Excel Function และนี่คือ

ฟังก์ชัน myFunction (อาร์กิวเมนต์) return type
myFunction = some_calculation
End Function

ไม่มี Return ` `ตามที่เรามีกับภาษาโปรแกรมทั่วไป

ใส่รหัสของคุณในหน้าต่างธรรมดาที่เพิ่งเปิดขึ้น ตัวอย่างเช่นฉันจะสร้างฟังก์ชัน "FeesCalculate" ซึ่งคำนวณ `8%` ของค่าที่ให้ไว้กับฟังก์ชัน ฉันใช้ประเภทการส่งคืนเป็น "Double" เนื่องจากค่านี้อาจเป็นทศนิยมก็ได้เช่นกัน คุณสามารถดูรหัสของฉันตามไวยากรณ์ของ VBA

ขณะนี้เป็นเวลาในการบันทึกสมุดงาน Excel บันทึกด้วยส่วนขยายของ `.xslm` เพื่อใช้แผ่นงาน Excel กับมาโคร ถ้าคุณไม่บันทึกด้วยส่วนขยายนี้จะทำให้เกิดข้อผิดพลาด

นั่นแหล่ะ

ตอนนี้คุณสามารถใช้ User Defined Function ในแผ่นงาน Excel ตามฟังก์ชัน Excel ทั่วไปโดยใช้ "=" เมื่อคุณเริ่มพิมพ์ "=" ในเซลล์จะแสดงฟังก์ชันสร้างขึ้นพร้อมด้วยฟังก์ชัน built-in อื่น

คุณสามารถดูตัวอย่างด้านล่าง:

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

ข้อ จำกัด ของฟังก์ชัน Excel แบบกำหนดเอง

ฟังก์ชัน Excel แบบกำหนดเองไม่สามารถทำต่อไปนี้

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

มีข้อ จำกัด ดังกล่าวอีกมากมายและกล่าวถึงบางส่วน

นี่เป็นขั้นตอนง่ายๆในการสร้าง Custom ฟังก์ชัน Excel