วิธีนำสูตรของ Excel มาใช้กับ VBA

แทนที่จะต้องเริ่มต้นเรียนรู้โครงสร้างสูตรของ VBA ขอแนะนำให้นำสูตร Excel ที่เราคุ้นเคยดีอยู่แล้วมาใช้แทนกันดีกว่า โดยพิมพ์คำว่า Application.WorksheetFunction ตามด้วยจุด นำหน้าสูตร Excel เช่น

[Source] = Application.WorksheetFunction.Round([Source], 2)
ปรับตัวเลขใน Source โดยปัดขึ้นเป็นเลขทศนิยม 2 หลัก
เ้ดิม 12.345 จะปัดขึ้นเป็น 12.35

แต่ถ้าใช้สูตร Round ใน VBA

[Source] = Round([Source], 2)
เดิม 12.345 จะปัดเป็น 12.34

จะเห็นว่า สูตร Round ของ VBA คำนวณให้คำตอบต่างจาก Round ของ Excel โดยสูตร Round ของ VBA จะมีหลักพิจารณาเพิ่มเติมว่า ถ้าเลขหลักที่ต้องการเป็นเลขคู่อยู่แล้วจะไม่ปัดขึ้น

หากต้องการค้นหาว่ามีสูตร Excel ใดที่สามารถนำมาใช้ใน VBA ได้บ้าง ให้ค้นหาจาก VBA Help โดยค้นหาจากคำว่า List of Worksheet Functions Available to Visual Basic แล้วขอให้สังเกตว่าไม่มีสูตร If (โดยให้หันมาใช้ IIF ของ VBA แทน) หรือค้นหาจากพื้นที่ที่ใช้เขียนรหัส ให้พิมพ์คำว่า Application.WorksheetFunction แล้วพอพิมพ์เครื่องหมายจุดต่อท้ายคำ จะพบว่า VBE เปิดจอเล็กๆไล่ลำดับชื่อสูตรที่มีอยู่ เพื่อให้เลือกได้โดยตรงในขณะที่พิมพ์ให้ทันที

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234