VBA ใน Excel: Visual Basic สำหรับแอปพลิเคชันคืออะไร วิธีใช้งาน
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
ฉันอยากจะขยายคำพูดอันชาญฉลาดของสตีฟ จ็อบส์ และบอกว่าทุกคนในโลกควรเรียนรู้วิธีการเขียนโปรแกรมคอมพิวเตอร์ คุณอาจไม่จำเป็นต้องทำงานเป็นโปรแกรมเมอร์หรือเขียนโปรแกรมเลยก็ได้ แต่การทำเช่นนี้จะสอนให้คุณรู้จักคิด
Visual Basic สำหรับแอปพลิเคชัน (VBA) คืออะไร
Visual Basic สำหรับแอปพลิเคชัน (VBA) เป็นภาษาโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์ที่ดำเนินการโดย Microsoft เพื่อพัฒนาแอพพลิเคชั่น Office VBA ช่วยพัฒนากระบวนการอัตโนมัติ Windows API และฟังก์ชันที่ผู้ใช้กำหนด นอกจากนี้ยังช่วยให้คุณสามารถจัดการคุณลักษณะอินเทอร์เฟซผู้ใช้ของแอปพลิเคชันโฮสต์ได้
ก่อนที่เราจะลงรายละเอียดเพิ่มเติม มาดูก่อนว่าการเขียนโปรแกรมคอมพิวเตอร์เป็นภาษาที่คนทั่วไปเข้าใจได้หรือไม่ สมมติว่าคุณมีแม่บ้าน หากคุณต้องการให้แม่บ้านทำความสะอาดบ้านและซักผ้า ให้คุณบอกแม่บ้านว่าต้องทำอะไรโดยใช้ภาษาอังกฤษ แล้วแม่บ้านจะจัดการให้คุณ เมื่อคุณทำงานกับคอมพิวเตอร์ คุณจะต้องทำบางอย่าง เช่นเดียวกันกับที่คุณบอกแม่บ้านให้ทำหน้าที่ในบ้าน คุณยังสามารถสั่งให้คอมพิวเตอร์ทำงานแทนคุณได้
กระบวนการบอกคอมพิวเตอร์ว่าคุณต้องการให้คอมพิวเตอร์ทำอะไรให้คุณคือสิ่งที่เรียกว่าการเขียนโปรแกรมคอมพิวเตอร์ เช่นเดียวกับที่คุณใช้ภาษาอังกฤษเพื่อบอกแม่บ้านว่าต้องทำอะไร คุณยังสามารถใช้ภาษาอังกฤษเช่นคำสั่งเพื่อบอกคอมพิวเตอร์ว่าต้องทำอะไร คำกล่าวที่คล้ายกันภาษาอังกฤษจัดอยู่ในหมวดหมู่ของภาษาระดับสูง VBA เป็นภาษาระดับสูงที่คุณสามารถใช้เพื่อโค้งงอ Excel ตามความต้องการอันทรงพลังของคุณ
จริงๆ แล้ว VBA นั้นเป็นชุดย่อยของ Visual Basic 6.0 BASIC ย่อมาจาก Bผู้เริ่มต้น All-วัตถุประสงค์ Sสัญลักษณ์ Iคำแนะนำ Cบทกวี
ทำไมต้อง VBA?
VBA ช่วยให้คุณสามารถใช้ภาษาอังกฤษเช่นคำสั่งในการเขียนคำสั่งสำหรับการสร้างแอปพลิเคชันต่างๆ VBA นั้นง่ายต่อการเรียนรู้ และมีส่วนต่อประสานกับผู้ใช้ที่ใช้งานง่าย ซึ่งคุณเพียงแค่ลากและวางส่วนควบคุมอินเทอร์เฟซ นอกจากนี้ยังช่วยให้คุณปรับปรุงฟังก์ชันการทำงานของ Excel โดยการทำให้มันทำงานตามที่คุณต้องการ
แอปพลิเคชันส่วนบุคคลและธุรกิจของ VBA ใน Excel
สำหรับการใช้งานส่วนตัว คุณสามารถใช้กับมาโครง่ายๆ ซึ่งจะทำให้งานประจำส่วนใหญ่ของคุณเป็นไปโดยอัตโนมัติ อ่านบทความเกี่ยวกับมาโครเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการบรรลุเป้าหมายนี้
สำหรับการใช้งานทางธุรกิจ คุณสามารถสร้างโปรแกรมอันทรงพลังที่สมบูรณ์ซึ่งขับเคลื่อนโดย Excel และ VBA ข้อดีของแนวทางนี้คือคุณสามารถใช้ประโยชน์จากฟีเจอร์อันทรงพลังของ Excel ในโปรแกรมที่คุณกำหนดเองได้
รู้เบื้องต้นเกี่ยวกับ Visual Basic สำหรับแอปพลิเคชัน
ก่อนที่เราจะเขียนโค้ดใดๆ เราต้องรู้พื้นฐานก่อน ข้อมูลพื้นฐานต่อไปนี้จะช่วยให้คุณเริ่มต้นได้
- ตัวแปร – ในโรงเรียนมัธยม เราเรียนเกี่ยวกับพีชคณิต หาค่า (x + 2y) โดยที่ x = 1 และ y = 3 ในนิพจน์นี้ x และ y คือตัวแปร ตัวแปรสามารถกำหนดเป็นตัวเลขใดก็ได้ เช่น 1 และ 3 ตามลำดับ เช่นเดียวกับตัวอย่างนี้ นอกจากนี้ยังสามารถเปลี่ยนเป็น 4 และ 2 ตามลำดับได้อีกด้วย ตัวแปรคือตำแหน่งหน่วยความจำ เมื่อคุณทำงานกับ VBA Excel คุณจะต้องประกาศตัวแปรด้วยเช่นกัน เช่นเดียวกับในคลาสพีชคณิต
-
กฎสำหรับการสร้างตัวแปร
- อย่าใช้คำที่สงวนไว้ หากคุณทำงานเป็นนักเรียน คุณจะไม่สามารถใช้ตำแหน่งอาจารย์หรืออาจารย์ใหญ่ได้ ชื่อเหล่านี้สงวนไว้สำหรับอาจารย์และหน่วยงานของโรงเรียน คำที่สงวนไว้คือคำที่มีความหมายพิเศษใน Excel VBA ดังนั้นคุณจึงไม่สามารถใช้เป็นชื่อตัวแปรได้
- ชื่อตัวแปรไม่สามารถมีช่องว่างได้ - คุณไม่สามารถกำหนดตัวแปรชื่อตัวเลขแรกได้ คุณสามารถใช้ firstNumber หรือ first_number
- ใช้ชื่อที่สื่อความหมาย การตั้งชื่อตัวแปรตามตัวคุณเองเป็นเรื่องยากมาก แต่ควรหลีกเลี่ยงสิ่งนี้ ใช้ชื่อที่สื่อความหมาย เช่น ปริมาณ ราคา ผลรวมย่อย ฯลฯ ซึ่งจะทำให้โค้ด Excel VBA ของคุณอ่านง่าย
-
ตัวดำเนินการทางคณิตศาสตร์ – กฎของ Brackets การหาร การคูณ การบวก และการลบ (BODMAS) ใช้ได้ ดังนั้นอย่าลืมใช้เมื่อทำงานกับนิพจน์ที่ใช้ตัวดำเนินการทางคณิตศาสตร์ที่แตกต่างกันหลายตัว เช่นเดียวกับใน Excel คุณสามารถใช้
- + สำหรับการเพิ่ม
- – สำหรับการลบ
- * สำหรับการคูณ
- / สำหรับการแบ่ง.
-
ตัวดำเนินการเชิงตรรกะ – แนวคิดของตัวดำเนินการเชิงตรรกะที่ครอบคลุมในบทช่วยสอนก่อนหน้านี้ยังใช้ได้เมื่อทำงานกับ VBA ซึ่งรวมถึง
- ถ้างบ
- OR
- ไม่
- AND
- TRUE
- FALSE
วิธีเปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์
ด้านล่างนี้เป็นกระบวนการทีละขั้นตอนเกี่ยวกับวิธีเปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์ใน Excel:
- สร้างสมุดงานใหม่
- คลิกที่ปุ่มเริ่มริบบิ้น
- ดูรายละเอียด
- คลิกที่ปรับแต่งริบบิ้น
- เลือกช่องกาเครื่องหมายนักพัฒนาตามที่แสดงในภาพด้านล่าง
- คลิกตกลง
ขณะนี้คุณจะสามารถเห็นแท็บนักพัฒนาใน Ribbon ได้
VBA สวัสดีชาวโลก!
ต่อไปนี้เราจะสาธิตวิธีการเขียนโปรแกรมในภาษา VBA โปรแกรมทั้งหมดใน VBA ต้องเริ่มต้นด้วย "Sub" และลงท้ายด้วย "End sub" ในที่นี้ ชื่อคือชื่อที่คุณต้องการกำหนดให้กับโปรแกรมของคุณ ในขณะที่ sub ย่อมาจากซับรูทีน ซึ่งเราจะเรียนรู้ในส่วนหลังของบทช่วยสอนนี้
Sub name() . . . End Sub
เราจะสร้างโปรแกรม VBA ขั้นพื้นฐานที่แสดงกล่องอินพุตเพื่อขอชื่อผู้ใช้ จากนั้นแสดงข้อความทักทาย
บทช่วยสอนนี้ถือว่าคุณได้เสร็จสิ้นบทช่วยสอนแล้ว มาโครใน Excel และได้เปิดใช้งานแท็บ DEVELOPER ใน Excel แล้ว
- สร้างสมุดงานใหม่
- บันทึกในรูปแบบแผ่นงานที่เปิดใช้งานแมโคร Excel *.xlsm
- คลิกที่แท็บนักพัฒนา
- คลิกที่กล่องดร็อปดาวน์ INSERT ที่อยู่ใต้แถบริบบิ้นควบคุม
- เลือกปุ่มคำสั่งตามที่แสดงในภาพด้านล่าง
วาดปุ่มคำสั่งที่ใดก็ได้บนเวิร์กชีต
คุณจะได้รับหน้าต่างโต้ตอบดังต่อไปนี้
- เปลี่ยนชื่อชื่อแมโครเป็น btnHelloWorld_Click
- คลิกที่ปุ่มใหม่
- คุณจะได้รับหน้าต่างโค้ด VBA ต่อไปนี้
กรอกรหัสคำสั่งดังต่อไปนี้
Dim name As String
name = InputBox("Enter your name")
MsgBox "Hello " + name
ที่นี่
- “ชื่อติ่มซำเป็นสตริง” สร้างตัวแปรชื่อ ตัวแปรจะยอมรับข้อความ ตัวเลข และอักขระอื่นๆ เนื่องจากเรากำหนดให้เป็นสตริง
- “ชื่อ = ข้อมูลเข้าBox("ใส่ชื่อของคุณ")" เรียกฟังก์ชันอินพุทในตัวBox ที่แสดงหน้าต่างพร้อมคำบรรยาย ใส่ชื่อของคุณ ชื่อที่ป้อนจะถูกเก็บไว้ในตัวแปรชื่อ
- "ข่าวสารเกี่ยวกับBox “สวัสดี” + ชื่อ” เรียกใช้ฟังก์ชัน MsgBox ที่แสดงคำว่า Hello และชื่อที่ป้อน
หน้าต่างรหัสที่สมบูรณ์ของคุณควรมีลักษณะดังนี้
- ปิดหน้าต่างโค้ด
- คลิกขวาที่ปุ่ม 1 และเลือกแก้ไขข้อความ
- เข้ามาทักทาย
- คลิกที่พูดสวัสดี
- คุณจะได้รับกล่องป้อนข้อมูลดังต่อไปนี้
- ใส่ชื่อของคุณเช่นจอร์แดน
- คุณจะได้รับกล่องข้อความต่อไปนี้
ยินดีด้วย คุณเพิ่งสร้างโปรแกรม VBA แรกใน Excel
ตัวอย่างทีละขั้นตอนของการสร้างเครื่องคิดเลข EMI อย่างง่ายใน Excel
ในแบบฝึกหัดนี้ เราจะสร้างโปรแกรมง่ายๆ ที่ใช้คำนวณ EMI EMI เป็นตัวย่อของ Equated Monthly Installment ซึ่งเป็นจำนวนเงินรายเดือนที่คุณต้องชำระคืนเมื่อได้รับเงินกู้ รูปภาพต่อไปนี้แสดงสูตรสำหรับคำนวณ EMI
สูตรด้านบนมีความซับซ้อนและสามารถเขียนใน Excel ได้ ข่าวดีก็คือ Excel ได้จัดการปัญหาข้างต้นเรียบร้อยแล้ว คุณสามารถใช้ฟังก์ชัน PMT เพื่อคำนวณสูตรด้านบนได้
ฟังก์ชั่น PMT ทำงานดังนี้
=PMT(rate,nper,pv)
ที่นี่
- "ประเมิน" นี่คืออัตรารายเดือน คืออัตราดอกเบี้ยหารด้วยจำนวนการชำระเงินต่อปี
- “ไม่มี” คือจำนวนการชำระเงินทั้งหมด คือระยะเวลาเงินกู้คูณด้วยจำนวนการชำระเงินต่อปี
- “พีวี” มูลค่าปัจจุบัน มันคือจำนวนเงินกู้ที่แท้จริง
สร้าง GUI โดยใช้เซลล์ Excel ดังที่แสดงด้านล่าง
เพิ่มปุ่มคำสั่งระหว่างแถวที่ 7 และ 8
ตั้งชื่อมาโครของปุ่ม btnCalculateEMI_Click
คลิกที่ปุ่มแก้ไข
กรอกรหัสดังต่อไปนี้
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double
monthly_rate = Range("B6").Value / Range("B5").Value
loan_amount = Range("B3").Value
number_of_periods = Range("B4").Value * Range("B5").Value
emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)
Range("B9").Value = emi
ที่นี่
- “ติ่มรายเดือน_อัตราเป็นโสด…” Dim เป็นคำสำคัญที่ใช้ในการกำหนด ตัวแปรใน VBA, month_rate คือชื่อตัวแปร, Single คือประเภทข้อมูลที่หมายความว่าตัวแปรจะยอมรับตัวเลข
- “monthly_rate = Range(“B6”).มูลค่า / Range(“B5”).มูลค่า” Range คือฟังก์ชันที่ใช้ในการเข้าถึงเซลล์ Excel จาก VBA, Range("B6") ค่าจะอ้างอิงถึงค่าใน B6
- “WorksheetFunction.Pmt(...)” WorksheetFunction คือฟังก์ชันที่ใช้ในการเข้าถึงฟังก์ชันทั้งหมดใน Excel
รูปภาพต่อไปนี้แสดงโค้ดต้นฉบับทั้งหมด
- คลิกที่บันทึกและปิดหน้าต่างรหัส
- ทดสอบโปรแกรมของคุณตามที่แสดงในภาพเคลื่อนไหวด้านล่าง
ตัวอย่างการใช้ VBA ใน Excel
ขั้นตอนต่อไปนี้จะอธิบายวิธีใช้ VBA ใน Excel
ขั้นตอน 1) เปิดตัวแก้ไข VBA ของคุณ
ภายใต้แท็บนักพัฒนาจากเมนูหลัก คลิกที่ไอคอน "Visual Basic" ซึ่งจะเป็นการเปิดตัวแก้ไข VBA ของคุณ
ขั้นตอน 2) เลือกแผ่นงาน Excel & Double คลิกที่แผ่นงาน
โปรแกรมจะเปิดโปรแกรมแก้ไข VBA โดยคุณสามารถเลือกแผ่นงาน Excel ที่ต้องการรันโค้ดได้ เมื่อต้องการเปิดตัวแก้ไข VBA ให้ดับเบิลคลิกที่แผ่นงาน
มันจะเปิดตัวแก้ไข VBA ที่ด้านขวามือของโฟลเดอร์ มันจะปรากฏเป็นพื้นที่สีขาว
ขั้นตอน 3) เขียนสิ่งที่คุณต้องการแสดงในข่าวสารเกี่ยวกับBox
ในขั้นตอนนี้ เราจะเห็นโปรแกรม VBA โปรแกรมแรกของเรา ในการอ่านและแสดงโปรแกรมของเรา เราจำเป็นต้องมีวัตถุ ใน VBA วัตถุหรือสื่อนั้นในข่าวสารเกี่ยวกับBox.
- ขั้นแรก เขียน “Sub” จากนั้นตามด้วย “ชื่อโปรแกรม” ของคุณ (Guru99)
- เขียนสิ่งที่คุณต้องการแสดงในข่าวสารเกี่ยวกับBox (guru99-การเรียนรู้เป็นเรื่องสนุก)
- จบโปรแกรมด้วย End Sub
ขั้นตอน 4) คลิกที่ปุ่มวิ่งสีเขียวที่ด้านบนของตัวแก้ไข
ในขั้นตอนถัดไป คุณต้องเรียกใช้โค้ดนี้โดยคลิกที่ปุ่มเรียกใช้สีเขียวที่ด้านบนของเมนูตัวแก้ไข
ขั้นตอน 5) เลือกแผ่นงานและคลิกที่ปุ่ม "เรียกใช้"
เมื่อคุณรันโค้ด หน้าต่างอื่นจะปรากฏขึ้นมา ที่นี่คุณจะต้องเลือกแผ่นงานที่คุณต้องการแสดงโปรแกรมและคลิกที่ปุ่ม "Run"
ขั้นตอน 6) แสดงข้อความในข่าวสารเกี่ยวกับBox
เมื่อคลิกที่ปุ่ม Run โปรแกรมจะถูกดำเนินการ มันจะแสดงข้อความใน MsgBox.
สรุป
VBA แบบเต็ม: Visual Basic สำหรับแอปพลิเคชัน เป็นส่วนประกอบย่อยของภาษาการเขียนโปรแกรม Visual Basic ที่คุณสามารถใช้เพื่อสร้างแอปพลิเคชันใน Excel ด้วย VBA คุณยังสามารถใช้ประโยชน์จากฟีเจอร์อันทรงพลังของ Excel และใช้งานฟีเจอร์เหล่านี้ใน VBA ได้



















