วิธีสร้างมาโครหรือสคริปต์ VBA ใน Excel
Microsoft Excelช่วยให้ผู้ใช้สามารถกำหนดคุณลักษณะและคำสั่งต่างๆ ได้โดยอัตโนมัติโดยใช้มาโครและ การเขียนสคริปต์ Visual Basic for Applications ( VBA ) VBA เป็นภาษาโปรแกรมที่ Excel(VBA is the programming language Excel)ใช้เพื่อสร้างมาโคร นอกจากนี้ยังจะดำเนินการคำสั่งอัตโนมัติตามเงื่อนไขเฉพาะ
มาโครคือชุดคำสั่งที่บันทึกไว้ล่วงหน้า พวกมันทำงานโดยอัตโนมัติเมื่อได้รับคำสั่งเฉพาะ ถ้าคุณมีงานในMicrosoft Excelที่คุณทำซ้ำๆ เช่น การบัญชี การจัดการโครงการ หรือการจ่ายเงินเดือน การทำให้กระบวนการเหล่านี้เป็นอัตโนมัติจะช่วยประหยัดเวลาได้มาก
ภายใต้แท็บนักพัฒนาซอฟต์แวร์ บน (Developer)RibbonในExcelผู้ใช้สามารถบันทึกการคลิกเมาส์และการกดแป้น (มาโคร) อย่างไรก็ตาม ฟังก์ชันบางอย่างต้องการสคริปต์เชิงลึกมากกว่าที่แมโครสามารถให้ได้ นี่คือจุดที่ สคริปต์ VBAกลายเป็นประโยชน์อย่างมาก อนุญาตให้ผู้ใช้สร้างสคริปต์ที่ซับซ้อนมากขึ้น
ในบทความนี้เราจะอธิบายสิ่งต่อไปนี้:
- การเปิดใช้งานสคริปต์และมาโคร
- วิธีสร้างมาโครใน Excel
- ตัวอย่างเฉพาะของมาโคร
- เรียนรู้เพิ่มเติมเกี่ยวกับ VBA
- สร้างปุ่ม(Button)เพื่อเริ่มต้นใช้งานVBA
- เพิ่มรหัส(Add Code)เพื่อให้การทำงานของปุ่ม(Button Functionality)
- มันทำงาน?
การเปิดใช้งานสคริปต์และมาโคร(Enabling Scripts & Macros)
ก่อนที่คุณจะสามารถสร้างมาโครหรือสคริปต์VBA ใน (VBA)Excelคุณต้องเปิดใช้งานแท็บนักพัฒนา(Developer ) บน เมนูRibbon แท็บนักพัฒนาไม่ได้เปิดใช้งานตามค่าเริ่มต้น (Developer)วิธีเปิดใช้งาน:
- เปิดแผ่นงาน Excel
- คลิกที่ไฟล์(File ) > ตัวเลือก( Options ) > กำหนด Ribbon เอง( Customize Ribbon.)
- ทำเครื่องหมายในช่องถัดจากDeveloper
- คลิกที่ แท็บ นักพัฒนา(Developer)จากเมนูRibbon
- จากนั้น คลิกที่Macro Securityและทำเครื่องหมายที่ช่องถัดจากEnable all macros (ไม่แนะนำ เพราะโค้ดที่อาจเป็นอันตรายสามารถเรียกใช้ได้) (Enable all macros (not recommended; potentially dangerous code can run). )
- จากนั้นคลิกตกลง( OK.)
สาเหตุที่มาโครไม่ถูกเปิดใช้งานโดยค่าเริ่มต้นและมาพร้อมกับคำเตือนเนื่องจากเป็นรหัสคอมพิวเตอร์ที่อาจมีมัลแวร์
ตรวจสอบ ให้(Make)แน่ใจว่าเอกสารนั้นมาจากแหล่งที่เชื่อถือได้ หากคุณกำลังทำงานในโครงการที่ใช้ร่วมกันในExcelและโปรแกรม อื่นๆ ของ Microsoft(Microsoft)
เมื่อคุณใช้สคริปต์และมาโครเสร็จแล้ว ให้ปิดใช้งานมาโครทั้งหมดเพื่อป้องกันไม่ให้โค้ดที่เป็นอันตรายติดไวรัสในเอกสารอื่นๆ
สร้างมาโครใน Excel(Create a Macro in Excel)
การดำเนินการทั้งหมดที่คุณทำในExcelขณะบันทึกแมโครจะถูกเพิ่มเข้าไป
- จากแท็บ Developer ให้คลิกที่Record Macro(Record Macro)
- ป้อนชื่อมาโคร(Macro name)ปุ่มลัด(Shortcut key)และคำอธิบาย (Description. )ชื่อ มาโคร(Macro)ต้องขึ้นต้นด้วยตัวอักษรและไม่มีช่องว่าง ปุ่มลัดต้องเป็นตัวอักษร
ตัดสินใจเลือกตำแหน่งที่คุณต้องการจัดเก็บมาโครจากตัวเลือกต่อไปนี้:
- Personal Macro Workbook : สิ่งนี้จะสร้าง เอกสาร Excel ที่ซ่อนอยู่ พร้อมมาโครที่เก็บไว้เพื่อใช้กับเอกสารExcel ใด ๆ(Excel)
- สมุดงานใหม่(New Workbook) : จะสร้าง เอกสาร Excel ใหม่ เพื่อจัดเก็บมาโครที่สร้างขึ้น
- สมุดงานนี้(This Workbook) : จะใช้กับเอกสารที่คุณกำลังแก้ไขเท่านั้น
เมื่อเสร็จแล้วคลิก ตกลง(OK)
- ดำเนิน(Run)การต่างๆ ที่คุณต้องการทำให้เป็นอัตโนมัติ เมื่อเสร็จแล้ว คลิกหยุดการ(Stop Recording)บันทึก
- เมื่อคุณต้องการเข้าถึงมาโครของคุณ ให้ใช้แป้นพิมพ์ลัดที่คุณให้มา
ตัวอย่างเฉพาะของมาโคร(Specific Example Of a Macro)
มาเริ่มกันด้วยสเปรดชีตง่ายๆ สำหรับลูกค้าและจำนวนเงินที่พวกเขาค้างชำระ เราจะเริ่มต้นด้วยการสร้างมาโครเพื่อจัดรูปแบบเวิร์กชีต
สมมติว่าคุณตัดสินใจว่าสเปรดชีตทั้งหมดควรใช้รูปแบบอื่น เช่น การใส่ชื่อและนามสกุลในคอลัมน์แยกกัน
คุณสามารถเปลี่ยนแปลงสิ่งนี้ได้ด้วยตนเอง หรือคุณสามารถสร้างโปรแกรมโดยใช้แมโครเพื่อจัดรูปแบบให้ถูกต้องโดยอัตโนมัติสำหรับคุณ
บันทึกมาโคร(Record The Macro)
- คลิกที่บันทึกมาโคร (Record Macro)เรียกมันว่าFormat_Customer_Dataแล้ว คลิกตกลง(OK)
- เพื่อให้ได้รูปแบบที่เราต้องการ เราจะเปลี่ยนชื่อคอลัมน์ แรก เป็น ชื่อ(First Name)
- จากนั้นแทรกคอลัมน์ถัดจาก A และเรียกมันว่า นามสกุล(Last Name)
- เน้น(Highlight)ชื่อทั้งหมดในคอลัมน์แรก (ซึ่งยังคงมีชื่อและนามสกุล) แล้วคลิกข้อมูล(Data)จากการนำทาง Ribbon
- คลิกข้อความเป็น(Text to Columns)คอลัมน์
- ติ๊กDelimited > Next > Separate by Space(Separate by Space) > Next > Finish ดูภาพหน้าจอด้านล่างและวิธีแยกชื่อและนามสกุลตามกระบวนการด้านบน
- ในการจัดรูปแบบฟิลด์ครบกำหนดยอดดุล ให้เน้นจำนวนเงิน (Balance Due)คลิก(Click)ที่หน้าแรก(Home ) > การจัดรูปแบบตามเงื่อนไข(Conditional Formatting) > เน้นกฎ ของเซลล์(Highlight Cell Rules) > มากกว่า(Greater Than ) > 0
สิ่งนี้จะเน้นเซลล์ที่มียอดดุลครบกำหนด เราได้เพิ่มลูกค้าสองสามรายที่ไม่มียอดคงเหลือเนื่องจากเพื่ออธิบายการจัดรูปแบบเพิ่มเติม
- กลับไปที่Developerแล้วคลิกStop Recording
สมัคร The Macro(Apply The Macro)
เริ่มจากสเปรดชีตต้นฉบับก่อนที่เราจะบันทึกมาโครเพื่อจัดรูปแบบอย่างถูกต้อง คลิก(Click)ที่Macrosเลือกและเรียกใช้(Run)แมโครที่คุณเพิ่งสร้างขึ้น
เมื่อคุณเรียกใช้แมโคร การจัดรูปแบบทั้งหมดจะทำเพื่อคุณ มาโครที่เราเพิ่งสร้างขึ้นนี้ถูกเก็บไว้ในVisual Basic Editor(Visual Basic Editor)
ผู้ใช้สามารถเรียกใช้แมโครได้หลายวิธี อ่านเรียกใช้แมโคร(Run a macro)เพื่อเรียนรู้เพิ่มเติม
เรียนรู้เพิ่มเติมเกี่ยวกับ VBA(Learn More About VBA)
หากต้องการเรียนรู้เกี่ยวกับ VBA ให้คลิกที่Macroจากแท็บDeveloper ค้นหาสิ่งที่คุณสร้างแล้วคลิกแก้ไข(Edit.)
โค้ดที่คุณเห็นในกล่องด้านบนคือสิ่งที่สร้างขึ้นเมื่อคุณบันทึกมาโครของคุณ
นอกจากนี้ยังเป็นสิ่งที่คุณจะเรียกใช้เมื่อคุณต้องการจัดรูปแบบสเปรดชีตการชำระเงินของลูกค้ารายอื่นในลักษณะเดียวกัน
สร้างปุ่มเพื่อเริ่มต้นใช้งาน VBA(Create a Button To Get Started With VBA)
ใช้สเปรดชีตเดียวกันกับลูกค้าด้านบนและจำนวนเงินที่พวกเขาค้างชำระ มาสร้างตัวแปลงสกุลเงินกันเถอะ
- หากต้องการแทรกองค์ประกอบปุ่ม ให้ไปที่แท็บ นักพัฒนา(Developer )
- เลือกปุ่มคำสั่ง ActiveX(ActiveX Command Button )จากดรอปดาวน์ถัดจากแทรก(Insert)ในส่วนการ(.)ควบคุม(Controls)
- ลาก(Drag)ปุ่มไปที่ใดก็ได้บนสเปรดชีต เพื่อให้คุณสามารถเข้าถึงได้ง่ายและเปลี่ยนแปลงในภายหลังหากต้องการ
- หากต้องการแนบโค้ด ให้คลิกขวาที่ปุ่มและเลือกProperties เราจะเก็บNameเป็นCommandButtonและCaption to Convert (นี่คือข้อความปุ่ม)
เพิ่มรหัสเพื่อให้การทำงานของปุ่ม(Add Code To Give The Button Functionality)
การเข้ารหัส VBA(VBA)ไม่ได้เกิดขึ้นในอินเทอร์เฟซ ของ Excel มันทำในสภาพแวดล้อมที่แยกต่างหาก
- ไปที่ แท็บ นักพัฒนา(Developer)และตรวจสอบให้แน่ใจว่าโหมดการออกแบบ(Design Mode)เปิดใช้งานอยู่
- ในการเข้าถึงรหัสของปุ่มที่เราเพิ่งสร้างขึ้น ให้คลิกขวาที่มันแล้วเลือกดูรหัส(View Code)
- เมื่อดูโค้ดในภาพหน้าจอด้านล่าง สังเกตว่าจุดเริ่มต้น ( Private Sub ) และจุดสิ้นสุด ( End Sub ) ของโค้ดมีอยู่แล้ว
- รหัสด้านล่างจะขับเคลื่อนขั้นตอนการแปลงสกุลเงิน
ActiveCell.Value = (ActiveCell * 1.28)
จุดประสงค์ของเราในส่วนนี้คือการแปลงสกุลเงินในสเปรดชีตของเรา สคริปต์ด้านบนแสดงอัตราแลกเปลี่ยนจากGBPเป็นUSD ค่าใหม่ของเซลล์จะเป็นค่าที่มีอยู่คูณด้วย 1.28
ภาพหน้าจอด้านล่างแสดงให้เห็นว่าโค้ดมีลักษณะอย่างไรใน หน้าต่าง VBAหลังจากที่คุณแทรก โค้ด
- ไปที่ไฟล์(File )ในการนำทางด้านบน และคลิกที่ ปิดและกลับสู่ Microsoft Excel(click on Close and Return to Microsoft Excel)เพื่อกลับไปยังอินเทอร์เฟซ หลักของ Excel
มันทำงาน?(Did It Work?)
ก่อนที่คุณจะสามารถทดสอบโค้ดของคุณได้ คุณต้องปิด การใช้งาน โหมดการออกแบบ(Design Mode) ก่อน (คลิกที่มัน) เพื่อหลีกเลี่ยงการแก้ไขเพิ่มเติมและให้การทำงานของปุ่ม
- พิมพ์(Type)ตัวเลขใดๆ ลงในสเปรดชีตของคุณ แล้วคลิกปุ่มแปลง (Convert)หากค่าของตัวเลขของคุณเพิ่มขึ้นประมาณหนึ่งในสี่ก็ใช้ได้
สำหรับตัวอย่างนี้ ฉันใส่ตัวเลข 4 ลงในเซลล์ หลังจากคลิกแปลง(Convert)ตัวเลขจะเปลี่ยนเป็น 5.12 เนื่องจาก 4 คูณ 1.28 คือ 5.12 รหัสจึงถูกดำเนินการอย่างถูกต้อง
เมื่อคุณเข้าใจวิธีการสร้างมาโครหรือสคริปต์ในExcelแล้ว คุณสามารถใช้มันเพื่อทำให้การกระทำต่างๆ ในExcel เป็นไปโดย อัตโนมัติ
Related posts
คู่มือ VBA ขั้นสูงสำหรับ MS Excel
5 ฟังก์ชันสคริปต์ Google ชีตที่คุณต้องรู้
วิธีการลบบรรทัดว่างใน Excel
วิธีใช้ฟีเจอร์ Speak Cells ของ Excel
วิธีแทรกแผ่นงาน Excel ลงใน Word Doc
วิธีลบแถวที่ซ้ำกันใน Excel
VBA Array ใน Excel คืออะไรและจะเขียนโปรแกรมได้อย่างไร
จัดกึ่งกลางข้อมูลเวิร์กชีตของคุณใน Excel สำหรับการพิมพ์
วิธีใช้การอ้างอิงแบบสัมบูรณ์ใน Excel
วิธีใช้ Flash Fill ใน Excel
วิธีแชร์ไฟล์ Excel เพื่อการทำงานร่วมกันอย่างง่ายดาย
การใช้เครื่องมือค้นหาเป้าหมายการวิเคราะห์แบบ What-If ของ Excel
การเชื่อมต่อ Excel กับ MySQL
วิธีเปิด Word และ Excel ในเซฟโหมด
การเรียงลำดับข้อมูลแบบหนึ่งคอลัมน์และหลายคอลัมน์ขั้นพื้นฐานในสเปรดชีต Excel
วิธีใช้ฟังก์ชัน PMT ใน Excel
4 วิธีในการแปลง Excel เป็น Google ชีต
วิธีสร้างรายการแบบหล่นลงที่เชื่อมโยงหลายรายการใน Excel
วิธีการย้ายคอลัมน์ใน Excel
วิธีการค้นหาใน Excel