วิธีบันทึกแมโครใน Excel

  • แบ่งปันสิ่งนี้
Michael Brown

บทช่วยสอนทีละขั้นตอนสำหรับผู้เริ่มต้นในการบันทึก ดู เรียกใช้ และบันทึกมาโคร คุณจะได้เรียนรู้กลไกภายในบางอย่างเกี่ยวกับวิธีการทำงานของมาโครใน Excel

มาโครเป็นวิธีที่ยอดเยี่ยมในการทำให้งานซ้ำๆ ใน Excel เป็นไปโดยอัตโนมัติ หากคุณพบว่าตัวเองทำสิ่งเดิมๆ ซ้ำแล้วซ้ำอีก ให้บันทึกการเคลื่อนไหวของคุณเป็นมาโครและกำหนดแป้นพิมพ์ลัดให้กับมัน และตอนนี้ คุณสามารถให้การกระทำที่บันทึกไว้ทั้งหมดดำเนินการโดยอัตโนมัติด้วยการกดแป้นเดียว!

    วิธีบันทึกแมโครใน Excel

    เช่นเดียวกับเครื่องมือ VBA อื่นๆ มาโคร Excel อยู่ในแท็บ นักพัฒนาซอฟต์แวร์ ซึ่งถูกซ่อนไว้ตามค่าเริ่มต้น ดังนั้น สิ่งแรกที่คุณต้องทำคือเพิ่มแท็บ Developer ลงใน Ribbon ของ Excel

    หากต้องการบันทึกมาโครใน Excel ให้ทำตามขั้นตอนเหล่านี้:

    1. ใน <1 แท็บ>นักพัฒนาซอฟต์แวร์ ในกลุ่ม โค้ด ให้คลิกปุ่ม บันทึกมาโคร

      หรืออีกทางหนึ่ง คลิกปุ่ม บันทึก ปุ่มมาโคร ที่ด้านซ้ายของแถบ สถานะ :

      หากคุณชอบใช้แป้นพิมพ์มากกว่าเมาส์ ให้กดปุ่มต่อไปนี้ ลำดับคีย์ Alt , L , R (ทีละคีย์ ไม่ใช่คีย์ทั้งหมดในแต่ละครั้ง)

    2. ในกล่องโต้ตอบ บันทึกมาโคร ที่ปรากฏขึ้น ให้กำหนดค่าพารามิเตอร์หลักของมาโครของคุณ:
      • ใน มาโคร ชื่อ กล่องใส่ชื่อสำหรับมาโครของคุณ พยายามทำให้มีความหมายและสื่อความหมาย เพื่อที่ในภายหลังคุณจะสามารถค้นหาแมโครในรายการได้อย่างรวดเร็ว

        ในประหยัดเวลาและความกังวลให้คุณได้มาก ทำให้เส้นโค้งการเรียนรู้ราบรื่นขึ้นและมาโครมีประสิทธิภาพมากขึ้น

        ใช้การอ้างอิงแบบสัมพัทธ์สำหรับการบันทึกมาโคร

        ตามค่าเริ่มต้น 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. ดำเนินการตามที่คุณต้องการ โดยอัตโนมัติ (โปรดดูตัวอย่างมาโครการบันทึก)
    4. เมื่อเสร็จแล้ว ให้คลิกปุ่ม หยุดการบันทึก บนแท็บ นักพัฒนาซอฟต์แวร์ :

      <3

      หรือปุ่มอะนาล็อกบนแถบ สถานะ :

    ตัวอย่างการบันทึกมาโครใน Excel

    หากต้องการดูวิธีการทำงาน ลองบันทึกมาโครที่ใช้การจัดรูปแบบบางอย่างกับเซลล์ที่เลือก สำหรับสิ่งนี้ ให้ทำดังต่อไปนี้:

    1. เลือกเซลล์อย่างน้อยหนึ่งเซลล์ที่คุณต้องการจัดรูปแบบ
    2. ในแท็บ นักพัฒนาซอฟต์แวร์ หรือ สถานะ แถบคลิก บันทึกมาโคร .
    3. ในกล่องโต้ตอบ บันทึกมาโคร กำหนดการตั้งค่าต่อไปนี้:
      • ตั้งชื่อมาโคร Header_Formatting (เนื่องจากเราจะจัดรูปแบบส่วนหัวของคอลัมน์)
      • วางเคอร์เซอร์ในช่อง ปุ่มทางลัด แล้วกด Shift + F พร้อมกัน ซึ่งจะกำหนดทางลัด Ctrl + Shift + F ให้กับมาโคร
      • เลือกเก็บมาโครในเวิร์กบุ๊กนี้
      • สำหรับ คำอธิบาย ให้ใช้ข้อความต่อไปนี้เพื่ออธิบายว่า แมโครทำ: ทำให้ข้อความเป็นตัวหนา เพิ่มสีเติม และจัดกึ่งกลาง .
      • คลิก ตกลง เพื่อเริ่มบันทึก

    4. จัดรูปแบบเซลล์ที่เลือกไว้ล่วงหน้าตามที่คุณต้องการ สำหรับตัวอย่างนี้ เราใช้การจัดรูปแบบข้อความเป็นตัวหนา สีเติมสีฟ้าอ่อน และการจัดตำแหน่งตรงกลาง

      เคล็ดลับ อย่าเลือกเซลล์ใดๆ หลังจากที่คุณเริ่มบันทึกมาโครแล้ว เพื่อให้แน่ใจว่าการจัดรูปแบบทั้งหมดตรงกับ การเลือก ไม่ใช่ช่วงใดช่วงหนึ่ง

    5. คลิก หยุดการบันทึก บนแท็บ นักพัฒนาซอฟต์แวร์ หรือแถบ สถานะ 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) มีวิธีการดังนี้:

    1. ในสมุดงานที่มีมาโคร ให้คลิกปุ่ม บันทึก หรือกด Ctrl + S
    2. ในหน้าต่าง บันทึกเป็น กล่องโต้ตอบ เลือก 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

    ด้านล่างนี้ คุณจะพบเคล็ดลับบางประการ และโน้ตที่สามารถ

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้