สารบัญ
บทช่วยสอนทีละขั้นตอนสำหรับผู้เริ่มต้นในการบันทึก ดู เรียกใช้ และบันทึกมาโคร คุณจะได้เรียนรู้กลไกภายในบางอย่างเกี่ยวกับวิธีการทำงานของมาโครใน Excel
มาโครเป็นวิธีที่ยอดเยี่ยมในการทำให้งานซ้ำๆ ใน Excel เป็นไปโดยอัตโนมัติ หากคุณพบว่าตัวเองทำสิ่งเดิมๆ ซ้ำแล้วซ้ำอีก ให้บันทึกการเคลื่อนไหวของคุณเป็นมาโครและกำหนดแป้นพิมพ์ลัดให้กับมัน และตอนนี้ คุณสามารถให้การกระทำที่บันทึกไว้ทั้งหมดดำเนินการโดยอัตโนมัติด้วยการกดแป้นเดียว!
วิธีบันทึกแมโครใน Excel
เช่นเดียวกับเครื่องมือ VBA อื่นๆ มาโคร Excel อยู่ในแท็บ นักพัฒนาซอฟต์แวร์ ซึ่งถูกซ่อนไว้ตามค่าเริ่มต้น ดังนั้น สิ่งแรกที่คุณต้องทำคือเพิ่มแท็บ Developer ลงใน Ribbon ของ Excel
หากต้องการบันทึกมาโครใน Excel ให้ทำตามขั้นตอนเหล่านี้:
- ใน <1 แท็บ>นักพัฒนาซอฟต์แวร์ ในกลุ่ม โค้ด ให้คลิกปุ่ม บันทึกมาโคร
หรืออีกทางหนึ่ง คลิกปุ่ม บันทึก ปุ่มมาโคร ที่ด้านซ้ายของแถบ สถานะ :
หากคุณชอบใช้แป้นพิมพ์มากกว่าเมาส์ ให้กดปุ่มต่อไปนี้ ลำดับคีย์ Alt , L , R (ทีละคีย์ ไม่ใช่คีย์ทั้งหมดในแต่ละครั้ง)
- ในกล่องโต้ตอบ บันทึกมาโคร ที่ปรากฏขึ้น ให้กำหนดค่าพารามิเตอร์หลักของมาโครของคุณ:
- ใน มาโคร ชื่อ กล่องใส่ชื่อสำหรับมาโครของคุณ พยายามทำให้มีความหมายและสื่อความหมาย เพื่อที่ในภายหลังคุณจะสามารถค้นหาแมโครในรายการได้อย่างรวดเร็ว
ในประหยัดเวลาและความกังวลให้คุณได้มาก ทำให้เส้นโค้งการเรียนรู้ราบรื่นขึ้นและมาโครมีประสิทธิภาพมากขึ้น
ใช้การอ้างอิงแบบสัมพัทธ์สำหรับการบันทึกมาโคร
ตามค่าเริ่มต้น Excel จะใช้ ค่าสัมบูรณ์ reference เพื่อบันทึกมาโคร ซึ่งหมายความว่าโค้ด VBA ของคุณจะอ้างถึงเซลล์เดียวกันกับที่คุณเลือกเสมอ ไม่ว่าคุณจะอยู่ที่ใดในแผ่นงานเมื่อเรียกใช้แมโคร
อย่างไรก็ตาม สามารถเปลี่ยนลักษณะการทำงานเริ่มต้นเป็น การอ้างอิงแบบสัมพัทธ์ ในกรณีนี้ VBA จะไม่ฮาร์ดโค้ดที่อยู่ของเซลล์ แต่จะทำงานกับเซลล์ที่ใช้งานอยู่ (ที่เลือกอยู่ในปัจจุบัน)
หากต้องการบันทึกแมโครด้วยการอ้างอิงแบบสัมพัทธ์ ให้คลิกปุ่ม ใช้ ปุ่มอ้างอิงสัมพัทธ์ บนแท็บ นักพัฒนาซอฟต์แวร์ หากต้องการกลับไปใช้การอ้างอิงแบบสัมบูรณ์ ให้คลิกปุ่มอีกครั้งเพื่อปิดใช้
ตัวอย่างเช่น หากคุณบันทึกการตั้งค่าตารางด้วยการอ้างอิงแบบสัมบูรณ์ที่เป็นค่าเริ่มต้น มาโครของคุณจะ สร้างตารางใหม่ในตำแหน่งเดิม (ในกรณีนี้ Header ใน A1, Item1 ใน A2, Item2 ใน A3)
Sub Absolute_Referencing() ช่วง( "A1" ) เลือก ActiveCell.FormulaR1C1 = ช่วง "ส่วนหัว" ( "A2" ) เลือก ActiveCell.FormulaR1C1 = ช่วง "Item1" ( "A3" ) เลือก ActiveCell.FormulaR1C1 = "Item2" End Sub
หากคุณบันทึกมาโครเดียวกันโดยใช้การอ้างอิงแบบสัมพัทธ์ ตารางจะถูกสร้างขึ้นทุกที่ที่คุณวางเคอร์เซอร์ก่อนเรียกใช้แมโคร ( Header ในเซลล์ที่ใช้งาน Item1 ในเซลล์ด้านล่าง และอื่นๆ)
Sub Relative_Referencing() ActiveCell.FormulaR1C1 = "Header" ActiveCell.Offset(1, 0).Range( "A1" ) เลือก ActiveCell.FormulaR1C1 = "Item1" ActiveCell.Offset(1, 0).Range( "A1" ) เลือก ActiveCell.FormulaR1C1 = "Item2" ActiveCell.Offset(1, 0).Range( "A1" ) เลือก End Subหมายเหตุ:
- เมื่อใช้การอ้างอิงแบบสัมพัทธ์ อย่าลืมเลือกเซลล์เริ่มต้นก่อนที่คุณจะเริ่มบันทึกมาโคร
- การอ้างอิงแบบสัมพัทธ์ไม่ได้ผลกับทุกอย่าง คุณสมบัติบางอย่างของ Excel เช่น การแปลงช่วงเป็นตารางจำเป็นต้องมีการอ้างอิงแบบสัมบูรณ์
เลือกช่วงโดยใช้แป้นพิมพ์ลัด
เมื่อคุณเลือกเซลล์หรือช่วงของเซลล์โดยใช้เมาส์หรือแป้นลูกศร Excel เขียนที่อยู่ของเซลล์ ดังนั้น เมื่อใดก็ตามที่คุณเรียกใช้แมโคร การดำเนินการที่บันทึกไว้จะดำเนินการในเซลล์เดียวกันทุกประการ หากนี่ไม่ใช่สิ่งที่คุณต้องการ ให้ใช้ทางลัดเพื่อเลือกเซลล์และช่วง
ตามตัวอย่าง เรามาบันทึกมาโครที่กำหนดรูปแบบเฉพาะ (d-mmm-yy) สำหรับวันที่ในตารางด้านล่าง:
สำหรับสิ่งนี้ คุณจะบันทึกการดำเนินการต่อไปนี้: กด Ctrl + 1 เพื่อเปิดกล่องโต้ตอบ จัดรูปแบบเซลล์ > วันที่ > เลือกรูปแบบ > ตกลง. หากการบันทึกของคุณรวมถึงการเลือกช่วงด้วยปุ่มเมาส์หรือลูกศร Excel จะสร้างโค้ด VBA ต่อไปนี้:
Sub Date_Format() Range( "A2:B4" ) เลือกSelection.NumberFormat = "d-mmm-yy" End Subการเรียกใช้มาโครด้านบนจะเป็นการเลือกช่วง A2:B4 ทุกครั้ง หากคุณเพิ่มแถวในตารางของคุณ แถวจะไม่ถูกประมวลผลโดยมาโคร
ตอนนี้ มาดูกันว่าจะเกิดอะไรขึ้นเมื่อคุณเลือกตารางโดยใช้ทางลัด
วางเคอร์เซอร์ ในเซลล์ซ้ายบนสุดของช่วงเป้าหมาย (A2 ในตัวอย่างนี้) เริ่มบันทึกแล้วกด Ctrl + Shift + End ด้วยเหตุนี้ บรรทัดแรกของโค้ดจะมีลักษณะดังนี้:
Range(Selection, ActiveCell.SpecialCells(xlLastCell)) เลือกโค้ดนี้จะเลือกเซลล์ทั้งหมดตั้งแต่เซลล์ที่ใช้งานอยู่ไปจนถึงเซลล์ที่ใช้ล่าสุด หมายความว่าข้อมูลใหม่ทั้งหมดจะถูกรวมไว้ในส่วนที่เลือกโดยอัตโนมัติ
อีกวิธีหนึ่ง คุณสามารถใช้ Ctrl + Shift + Arrows ร่วมกัน:
- Ctrl + Shift + ลูกศรขวา เพื่อเลือกเซลล์ที่ใช้ทั้งหมดทางด้านขวา ตามด้วย
- Ctrl + Shift + ลูกศรลง เพื่อเลือกเซลล์ที่ใช้ทั้งหมดลง
การดำเนินการนี้จะสร้างโค้ดสองบรรทัดแทนที่จะเป็นบรรทัดเดียว แต่ผลลัพธ์จะเหมือนกัน - เซลล์ทั้งหมดที่มีข้อมูลอยู่ด้านล่างและทางขวาของเซลล์ที่ใช้งานอยู่จะถูกเลือก:
ช่วง(การเลือก, การเลือก สิ้นสุด ( xlToRight)). เลือกช่วง(การเลือก การเลือก สิ้นสุด (xlDown)) เลือกบันทึกมาโครสำหรับการเลือกแทนที่จะเจาะจงเซลล์
วิธีการข้างต้น (เช่น การเลือกเซลล์ที่ใช้ทั้งหมดโดยขึ้นต้นด้วยเซลล์ที่ใช้งานอยู่) ใช้งานได้ดีสำหรับการดำเนินการเดียวกันทั้งตาราง ในบางอย่างไรก็ตาม คุณอาจต้องการให้แมโครประมวลผลบางช่วงแทนที่จะเป็นทั้งตาราง
สำหรับสิ่งนี้ VBA จะจัดเตรียมวัตถุ การเลือก ที่อ้างถึงเซลล์ที่เลือกในปัจจุบัน . สิ่งส่วนใหญ่ที่สามารถทำได้ด้วยช่วงสามารถทำได้ด้วยการเลือก มันให้ประโยชน์อะไรกับคุณ? ในหลายกรณี คุณไม่จำเป็นต้องเลือกอะไรเลยในขณะบันทึก เพียงแค่เขียนมาโครสำหรับเซลล์ที่ใช้งานอยู่ จากนั้น เลือกช่วงใดก็ได้ที่คุณต้องการ เรียกใช้มาโคร และแมโครจะจัดการการเลือกทั้งหมด
ตัวอย่างเช่น มาโครบรรทัดเดียวนี้สามารถจัดรูปแบบเซลล์ที่เลือกเป็นจำนวนเท่าใดก็ได้เป็นเปอร์เซ็นต์:
Sub Percent_Format () Selection.NumberFormat = "0.00%" End Subวางแผนสิ่งที่คุณบันทึกอย่างรอบคอบ
Microsoft Excel Macro Recorder จะบันทึกกิจกรรมเกือบทั้งหมดของคุณ รวมถึงข้อผิดพลาดที่คุณทำและแก้ไข ตัวอย่างเช่น หากคุณกด Ctrl + Z เพื่อเลิกทำบางสิ่ง สิ่งนั้นก็จะถูกบันทึกด้วย ในที่สุด คุณอาจจบลงด้วยรหัสที่ไม่จำเป็นจำนวนมาก เพื่อหลีกเลี่ยงปัญหานี้ ให้แก้ไขโค้ดใน VB Editor หรือหยุดการบันทึก ลบมาโครที่บกพร่องและเริ่มบันทึกใหม่
สำรองหรือบันทึกสมุดงานก่อนเรียกใช้แมโคร
ผลลัพธ์ของ Excel ไม่สามารถเลิกทำมาโครได้ ดังนั้น ก่อนเรียกใช้แมโครครั้งแรก คุณควรสร้างสำเนาสมุดงานหรืออย่างน้อยบันทึกงานปัจจุบันของคุณเพื่อป้องกันการเปลี่ยนแปลงที่ไม่คาดคิด หากมาโครทำอะไรผิดพลาดเพียงปิดสมุดงานโดยไม่ต้องบันทึก
ทำให้มาโครที่บันทึกไว้สั้น
เมื่อทำให้ลำดับของงานต่างๆ เป็นอัตโนมัติ คุณอาจถูกล่อลวงให้บันทึกทั้งหมดในมาโครเดียว มีสองเหตุผลหลักที่จะไม่ทำเช่นนี้ ประการแรก เป็นการยากที่จะบันทึกมาโครขนาดยาวได้อย่างราบรื่นโดยไม่มีข้อผิดพลาด ประการที่สอง มาโครขนาดใหญ่ยากที่จะทำความเข้าใจ ทดสอบ และดีบัก ดังนั้นจึงควรแบ่งมาโครขนาดใหญ่ออกเป็นหลายส่วน ตัวอย่างเช่น เมื่อสร้างตารางสรุปจากหลายแหล่ง คุณสามารถใช้มาโครหนึ่งเพื่อนำเข้าข้อมูล อีกมาโครหนึ่งเพื่อรวมข้อมูล และอีกมาโครหนึ่งเพื่อจัดรูปแบบตาราง
ฉันหวังว่าบทแนะนำนี้จะให้ข้อมูลเชิงลึกแก่คุณ เกี่ยวกับวิธีการบันทึกแมโครใน Excel อย่างไรก็ตาม ฉันขอขอบคุณที่อ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
ชื่อแมโคร คุณสามารถใช้ตัวอักษร ตัวเลข และขีดล่างได้ อักขระตัวแรกต้องเป็นตัวอักษร ไม่อนุญาตให้เว้นวรรค ดังนั้นคุณควรตั้งชื่อด้วยคำเดียวโดยเริ่มต้นแต่ละส่วนด้วยอักษรตัวใหญ่ (เช่น MyFirstMacro ) หรือแยกคำด้วยเครื่องหมายขีดล่าง (เช่น My_First_Macro ) - ในช่อง ปุ่มทางลัด ให้พิมพ์ตัวอักษรใดก็ได้เพื่อกำหนดแป้นพิมพ์ลัดให้กับมาโคร (ไม่บังคับ)
อนุญาตให้ใช้ทั้งตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก แต่คุณควรใช้การผสมแป้นตัวพิมพ์ใหญ่ ( Ctrl + Shift + ตัวอักษร ) เนื่องจากทางลัดมาโครจะแทนที่ทางลัดเริ่มต้นของ Excel ในขณะที่สมุดงานที่มีมาโครนั้นเปิดอยู่ ตัวอย่างเช่น หากคุณกำหนด Ctrl + S ให้กับมาโคร คุณจะสูญเสียความสามารถในการบันทึกไฟล์ Excel ด้วยทางลัด การกำหนด Ctrl + Shift + S จะคงทางลัดการบันทึกมาตรฐานไว้
- จากรายการแบบเลื่อนลง จัดเก็บมาโครใน ให้เลือกตำแหน่งที่คุณต้องการจัดเก็บมาโครของคุณ:
- สมุดงานมาโครส่วนบุคคล – เก็บมาโครไว้ในสมุดงานพิเศษที่เรียกว่า Personal.xlsb มาโครทั้งหมดที่จัดเก็บไว้ในสมุดงานนี้จะพร้อมใช้งานทุกครั้งที่คุณใช้ Excel
- สมุดงานนี้ (ค่าเริ่มต้น) - มาโครจะถูกจัดเก็บไว้ในสมุดงานปัจจุบันและจะพร้อมใช้งานเมื่อคุณเปิดสมุดงานอีกครั้ง หรือแชร์กับผู้ใช้รายอื่น
- สมุดงานใหม่ – สร้างสมุดงานใหม่และบันทึกแมโครลงในสมุดงานนั้น
- ในช่อง คำอธิบาย พิมพ์คำอธิบายสั้นๆ เกี่ยวกับสิ่งที่มาโครของคุณทำ (ไม่บังคับ)
แม้ว่าช่องนี้จะเป็นตัวเลือก แต่เราขอแนะนำให้คุณระบุคำอธิบายโดยย่อเสมอ เมื่อคุณสร้างมาโครต่างๆ จำนวนมาก จะช่วยให้คุณเข้าใจได้อย่างรวดเร็วว่าแต่ละมาโครทำหน้าที่อะไร
- คลิก ตกลง เพื่อเริ่มบันทึกมาโคร
- ใน มาโคร ชื่อ กล่องใส่ชื่อสำหรับมาโครของคุณ พยายามทำให้มีความหมายและสื่อความหมาย เพื่อที่ในภายหลังคุณจะสามารถค้นหาแมโครในรายการได้อย่างรวดเร็ว
- ดำเนินการตามที่คุณต้องการ โดยอัตโนมัติ (โปรดดูตัวอย่างมาโครการบันทึก)
- เมื่อเสร็จแล้ว ให้คลิกปุ่ม หยุดการบันทึก บนแท็บ นักพัฒนาซอฟต์แวร์ :
<3
หรือปุ่มอะนาล็อกบนแถบ สถานะ :
ตัวอย่างการบันทึกมาโครใน Excel
หากต้องการดูวิธีการทำงาน ลองบันทึกมาโครที่ใช้การจัดรูปแบบบางอย่างกับเซลล์ที่เลือก สำหรับสิ่งนี้ ให้ทำดังต่อไปนี้:
- เลือกเซลล์อย่างน้อยหนึ่งเซลล์ที่คุณต้องการจัดรูปแบบ
- ในแท็บ นักพัฒนาซอฟต์แวร์ หรือ สถานะ แถบคลิก บันทึกมาโคร .
- ในกล่องโต้ตอบ บันทึกมาโคร กำหนดการตั้งค่าต่อไปนี้:
- ตั้งชื่อมาโคร Header_Formatting (เนื่องจากเราจะจัดรูปแบบส่วนหัวของคอลัมน์)
- วางเคอร์เซอร์ในช่อง ปุ่มทางลัด แล้วกด Shift + F พร้อมกัน ซึ่งจะกำหนดทางลัด Ctrl + Shift + F ให้กับมาโคร
- เลือกเก็บมาโครในเวิร์กบุ๊กนี้
- สำหรับ คำอธิบาย ให้ใช้ข้อความต่อไปนี้เพื่ออธิบายว่า แมโครทำ: ทำให้ข้อความเป็นตัวหนา เพิ่มสีเติม และจัดกึ่งกลาง .
- คลิก ตกลง เพื่อเริ่มบันทึก
- จัดรูปแบบเซลล์ที่เลือกไว้ล่วงหน้าตามที่คุณต้องการ สำหรับตัวอย่างนี้ เราใช้การจัดรูปแบบข้อความเป็นตัวหนา สีเติมสีฟ้าอ่อน และการจัดตำแหน่งตรงกลาง
เคล็ดลับ อย่าเลือกเซลล์ใดๆ หลังจากที่คุณเริ่มบันทึกมาโครแล้ว เพื่อให้แน่ใจว่าการจัดรูปแบบทั้งหมดตรงกับ การเลือก ไม่ใช่ช่วงใดช่วงหนึ่ง
- คลิก หยุดการบันทึก บนแท็บ นักพัฒนาซอฟต์แวร์ หรือแถบ สถานะ 14>
นั่นแหละ! มาโครของคุณได้รับการบันทึกแล้ว ตอนนี้ คุณสามารถเลือกช่วงของเซลล์ใดก็ได้ในชีตใดก็ได้ กดทางลัดที่กำหนด ( Ctrl+ Shift + F ) และการจัดรูปแบบที่กำหนดเองของคุณจะถูกนำไปใช้กับเซลล์ที่เลือกทันที
วิธีทำงานกับมาโครที่บันทึกไว้ใน Excel
ตัวเลือกหลักทั้งหมดที่ Excel มีให้สำหรับมาโครสามารถเข้าถึงได้ผ่านกล่องโต้ตอบ มาโคร หากต้องการเปิด ให้คลิกปุ่ม มาโคร บนแท็บ นักพัฒนาซอฟต์แวร์ หรือกดทางลัด Alt+ F8
ในกล่องโต้ตอบ ที่เปิดขึ้น คุณสามารถดูรายการของมาโครที่มีอยู่ในสมุดงานที่เปิดอยู่ทั้งหมดหรือเชื่อมโยงกับสมุดงานเฉพาะ และใช้ตัวเลือกต่อไปนี้:
- เรียกใช้ - ดำเนินการกับมาโครที่เลือก .
- ก้าวเข้าสู่ - อนุญาตให้คุณตรวจแก้จุดบกพร่องและทดสอบแมโครใน Visual Basic Editor
- แก้ไข - เปิดแมโครที่เลือกในตัวแก้ไข VBA ซึ่งคุณสามารถดูและแก้ไขโค้ดได้
- ลบ - ลบแมโครที่เลือกอย่างถาวร
- ตัวเลือก – อนุญาตให้เปลี่ยน คุณสมบัติของแมโคร เช่น ทางลัด คีย์ ที่เกี่ยวข้อง และ คำอธิบาย
วิธีดู มาโครใน Excel
โค้ดของแมโคร Excel สามารถดูและแก้ไขได้ใน Visual Basic Editor หากต้องการเปิดตัวแก้ไข ให้กด Alt + F11 หรือคลิกปุ่ม Visual Basic บนแท็บ นักพัฒนาซอฟต์แวร์
หากคุณเห็น VB Editor เป็นครั้งแรก โปรดอย่ารู้สึกท้อแท้หรือหวาดกลัว เราจะไม่พูดถึงโครงสร้างหรือไวยากรณ์ของภาษา VBA ส่วนนี้จะช่วยให้คุณเข้าใจพื้นฐานเกี่ยวกับวิธีการทำงานของมาโคร Excel และสิ่งที่บันทึกมาโครทำได้จริง
ตัวแก้ไข VBA มีหลายหน้าต่าง แต่เราจะเน้นไปที่หน้าต่างหลักสองบาน:
Project Explorer - แสดงรายการสมุดงานและแผ่นงานที่เปิดอยู่ทั้งหมด นอกจากนี้ยังแสดงโมดูล ฟอร์มผู้ใช้ และคลาสโมดูล
หน้าต่างโค้ด - นี่คือที่ที่คุณสามารถดู แก้ไข และเขียนโค้ด VBA สำหรับแต่ละวัตถุที่แสดงใน Project Explorer <3
เมื่อเราบันทึกมาโครตัวอย่าง สิ่งต่อไปนี้เกิดขึ้นในแบ็กเอนด์:
- โมดูลใหม่ ( Moduel1 ) คือ แทรกแล้ว
- โค้ด VBA ของแมโครถูกเขียนในหน้าต่างโค้ด
หากต้องการดูโค้ดเฉพาะโมดูล คลิกสองครั้งที่โมดูล ( Module1 ในกรณีของเรา) ในหน้าต่าง Project Explorer โดยปกติ โค้ดมาโครมีส่วนเหล่านี้:
ชื่อมาโคร
ใน VBA มาโครใดๆ จะขึ้นต้นด้วย ย่อย ตามด้วยชื่อมาโครและลงท้ายด้วย จบย่อย โดยที่ "Sub" ย่อมาจาก รูทีนย่อย (เรียกอีกอย่างว่า ขั้นตอน ) มาโครตัวอย่างของเรามีชื่อว่า Header_Formatting() ดังนั้นโค้ดจึงขึ้นต้นด้วยบรรทัดนี้:
Sub Header_Formatting()หากคุณต้องการ เปลี่ยนชื่อมาโคร เพียงลบ ชื่อปัจจุบันและพิมพ์ชื่อใหม่โดยตรงในหน้าต่างรหัส
ความคิดเห็น
บรรทัดที่นำหน้าด้วยเครื่องหมายอัญประกาศเดี่ยว (') และแสดงเป็นสีเขียวตามค่าเริ่มต้นจะไม่ถูกดำเนินการ นี่คือความคิดเห็นที่เพิ่มเข้ามาเพื่อวัตถุประสงค์ในการให้ข้อมูล บรรทัดความคิดเห็นสามารถลบออกได้อย่างปลอดภัยโดยไม่กระทบต่อการทำงานของโค้ด
โดยปกติแล้ว มาโครที่บันทึกไว้จะมีบรรทัดความคิดเห็น 1 - 3 บรรทัด: ชื่อมาโคร (บังคับ); คำอธิบายและทางลัด (หากระบุก่อนบันทึก)
โค้ดปฏิบัติการ
หลังจากแสดงความคิดเห็น จะมีโค้ดที่ดำเนินการตามที่คุณบันทึกไว้ บางครั้ง มาโครที่บันทึกไว้อาจมีโค้ดที่ไม่จำเป็นจำนวนมาก ซึ่งอาจยังมีประโยชน์สำหรับการค้นหาว่าสิ่งต่างๆ ทำงานร่วมกับ VBA ได้อย่างไร :)
ภาพด้านล่างแสดงการทำงานของโค้ดมาโครแต่ละส่วน:
วิธีเรียกใช้แมโครที่บันทึกไว้
การเรียกใช้แมโครเป็นการบอกให้ Excel กลับไปที่โค้ด VBA ที่บันทึกไว้และดำเนินการขั้นตอนเดียวกันทุกประการ มีสองสามวิธีในการเรียกใช้มาโครที่บันทึกไว้ใน Excel และนี่คือวิธีที่เร็วที่สุด:
- ถ้าคุณกำหนด แป้นพิมพ์ลัด ให้กับมาโคร ให้กดทางลัดนั้น .
- กด Alt + 8 หรือคลิกปุ่ม มาโคร บนแท็บ นักพัฒนาซอฟต์แวร์ ในกล่องโต้ตอบ มาโคร เลือกมาโครที่ต้องการแล้วคลิก เรียกใช้
นอกจากนี้ยังสามารถเรียกใช้ มาโครที่บันทึกไว้โดยคลิกปุ่มของคุณเอง ต่อไปนี้เป็นขั้นตอนในการสร้าง: วิธีสร้างปุ่มแมโครใน Excel
วิธีบันทึกแมโครใน Excel
ไม่ว่าคุณจะบันทึกแมโครหรือเขียนโค้ด VBA ด้วยตนเอง เพื่อบันทึกแมโคร คุณต้องบันทึกสมุดงานเป็นเปิดใช้งานแมโคร (นามสกุล .xls) มีวิธีการดังนี้:
- ในสมุดงานที่มีมาโคร ให้คลิกปุ่ม บันทึก หรือกด Ctrl + S
- ในหน้าต่าง บันทึกเป็น กล่องโต้ตอบ เลือก Excel Macro-Enabled Workbook (*.xlsm) จากรายการแบบเลื่อนลง บันทึกเป็นประเภท จากนั้นคลิก บันทึก :
มาโคร Excel: อะไรคือสิ่งที่ไม่ได้บันทึก
อย่างที่คุณเพิ่งเห็น การบันทึกมาโครใน Excel นั้นค่อนข้างง่าย แต่ในการสร้างมาโครที่มีประสิทธิภาพ คุณต้องเข้าใจว่าเกิดอะไรขึ้นเบื้องหลัง
สิ่งที่บันทึก
ตัวบันทึกมาโครของ Excel สามารถบันทึกสิ่งต่างๆ ได้มากมาย - การคลิกเมาส์และการกดแป้นพิมพ์เกือบทั้งหมด ดังนั้น คุณควรคิดทบทวนขั้นตอนของคุณอย่างรอบคอบเพื่อหลีกเลี่ยงโค้ดส่วนเกินที่อาจจะเกิดขึ้นส่งผลให้เกิดพฤติกรรมที่ไม่คาดคิดของมาโครของคุณ ด้านล่างนี้คือตัวอย่างบางส่วนของสิ่งที่ Excel บันทึก:
- การเลือกเซลล์ด้วยเมาส์หรือแป้นพิมพ์ เฉพาะการเลือกสุดท้ายก่อนการดำเนินการจะถูกบันทึก ตัวอย่างเช่น หากคุณเลือกช่วง A1:A10 แล้วคลิกเซลล์ A11 ระบบจะบันทึกเฉพาะส่วนที่เลือกของ A11
- การจัดรูปแบบเซลล์ เช่น สีเติมและสีแบบอักษร การจัดตำแหน่ง เส้นขอบ ฯลฯ
- การจัดรูปแบบตัวเลข เช่น เปอร์เซ็นต์ สกุลเงิน ฯลฯ
- การแก้ไขสูตรและค่าต่างๆ การเปลี่ยนแปลงจะถูกบันทึกหลังจากที่คุณกด Enter
- การเลื่อน ย้ายหน้าต่าง Excel สลับไปยังแผ่นงานและสมุดงานอื่น
- การเพิ่ม การตั้งชื่อ การย้าย และการลบแผ่นงาน
- การสร้าง การเปิดและการบันทึกสมุดงาน
- เรียกใช้มาโครอื่นๆ
สิ่งที่ไม่สามารถบันทึกได้
แม้จะมีสิ่งต่างๆ มากมายที่ Excel สามารถบันทึกได้ คุณลักษณะบางอย่างก็อยู่นอกเหนือความสามารถของ Macro Recorder:
- การปรับแต่ง Ribbon ของ Excel และแถบเครื่องมือด่วน
- การดำเนินการภายในกล่องโต้ตอบ Excel เช่น การจัดรูปแบบตามเงื่อนไข หรือ ค้นหาและแทนที่ (บันทึกเฉพาะผลลัพธ์)
- โต้ตอบกับโปรแกรมอื่น ตัวอย่างเช่น คุณไม่สามารถบันทึกการคัดลอก/วางจากสมุดงาน Excel ลงในเอกสาร Word ได้
- สิ่งใดก็ตามที่เกี่ยวข้องกับตัวแก้ไข VBA นี่เป็นข้อ จำกัด ที่สำคัญที่สุด - หลายสิ่งหลายอย่างที่สามารถทำได้ในระดับการเขียนโปรแกรมไม่สามารถทำได้ถูกบันทึก:
- การสร้างฟังก์ชันที่กำหนดเอง
- การแสดงกล่องโต้ตอบที่กำหนดเอง
- การสร้างลูป เช่น สำหรับถัดไป , สำหรับแต่ละรายการ , ทำในขณะที่ ฯลฯ
- ประเมินเงื่อนไข ใน VBA คุณสามารถใช้คำสั่ง IF Then Else เพื่อทดสอบเงื่อนไขและรันโค้ดบางโค้ดหากเงื่อนไขเป็นจริง หรือโค้ดอื่นหากเงื่อนไขเป็นเท็จ
- การดำเนินการโค้ดตามเหตุการณ์ . ด้วย VBA คุณสามารถใช้เหตุการณ์มากมายเพื่อเรียกใช้รหัสที่เกี่ยวข้องกับเหตุการณ์นั้น (เช่น การเปิดสมุดงาน การคำนวณแผ่นงานใหม่ การเปลี่ยนการเลือก และอื่นๆ)
- การใช้อาร์กิวเมนต์ เมื่อเขียนแมโครในตัวแก้ไข VBA คุณสามารถระบุอาร์กิวเมนต์อินพุตสำหรับแมโครเพื่อทำงานบางอย่างได้ มาโครที่บันทึกไม่สามารถมีอาร์กิวเมนต์ใดๆ ได้ เนื่องจากมาโครเป็นอิสระต่อกันและไม่ได้เชื่อมต่อกับมาโครอื่นๆ
- การทำความเข้าใจตรรกะ ตัวอย่างเช่น หากคุณบันทึกมาโครที่คัดลอกเซลล์ที่ต้องการ เช่น ในแถว ทั้งหมด Excel จะบันทึกเฉพาะที่อยู่ของเซลล์ที่คัดลอกเท่านั้น ด้วย VBA คุณสามารถเขียนโค้ดลอจิก เช่น คัดลอกค่าในแถว ทั้งหมด
แม้ว่าข้อจำกัดข้างต้นจะกำหนดขอบเขตมากมายสำหรับมาโครที่บันทึกไว้ พวกเขายังคงเป็นจุดเริ่มต้นที่ดี แม้ว่าคุณจะไม่มีความรู้เกี่ยวกับภาษา VBA แต่คุณก็สามารถบันทึกแมโครได้อย่างรวดเร็วแล้ววิเคราะห์โค้ดของมัน
เคล็ดลับที่มีประโยชน์สำหรับการบันทึกมาโครใน Excel
ด้านล่างนี้ คุณจะพบเคล็ดลับบางประการ และโน้ตที่สามารถ