แมโคร Excel - คู่มือฉบับย่อ
แมโคร Excel คือการดำเนินการหรือชุดของการดำเนินการที่คุณสามารถบันทึกตั้งชื่อบันทึกและเรียกใช้กี่ครั้งก็ได้ตามที่คุณต้องการและเมื่อใดก็ตามที่คุณต้องการ เมื่อคุณสร้างมาโครคุณกำลังบันทึกการคลิกเมาส์และการกดแป้นพิมพ์ เมื่อคุณเรียกใช้มาโครที่บันทึกไว้การคลิกเมาส์และการกดแป้นที่บันทึกไว้จะดำเนินการตามลำดับเดียวกันกับที่บันทึกไว้
มาโครช่วยให้คุณประหยัดเวลาในงานซ้ำ ๆ ที่เกี่ยวข้องกับการจัดการข้อมูลและรายงานข้อมูลที่ต้องทำบ่อยๆ
Macro และ VBA
คุณสามารถบันทึกและเรียกใช้แมโครด้วยคำสั่ง Excel หรือจาก Excel VBA
VBA ย่อมาจาก Visual Basic for Applications และเป็นภาษาการเขียนโปรแกรมอย่างง่ายที่พร้อมใช้งานผ่าน Excel Visual Basic Editor (VBE) ซึ่งมีให้จากแท็บ DEVELOPER บน Ribbon เมื่อคุณบันทึกแมโคร Excel จะสร้างรหัส VBA หากคุณต้องการบันทึกแมโครและเรียกใช้งานคุณไม่จำเป็นต้องเรียนรู้ Excel VBA อย่างไรก็ตามหากคุณต้องการแก้ไขแมโครคุณสามารถทำได้โดยการแก้ไขโค้ด VBA ในตัวแก้ไข Excel VBA เท่านั้น
คุณจะได้เรียนรู้วิธีบันทึกมาโครอย่างง่ายและเรียกใช้ด้วยคำสั่ง Excel ในบทที่ - การสร้างมาโครอย่างง่าย คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับมาโครและเกี่ยวกับการสร้างและ / หรือแก้ไขแมโครจากตัวแก้ไข Excel VBA ในบทต่อ ๆ ไป
สมุดงานมาโครส่วนบุคคล
คุณสามารถบันทึกมาโครในสมุดงานเดียวกันจากที่ที่คุณบันทึกไว้ได้ ในกรณีนี้คุณสามารถเรียกใช้แมโครจากสมุดงานนั้นเท่านั้นดังนั้นคุณควรเปิดไว้ Excel เป็นอีกทางเลือกหนึ่งในการจัดเก็บมาโครทั้งหมดของคุณ เป็นสมุดงานมาโครส่วนตัวที่คุณสามารถบันทึกมาโครของคุณซึ่งช่วยให้คุณสามารถเรียกใช้แมโครเหล่านั้นจากสมุดงานใดก็ได้
คุณจะได้เรียนรู้เกี่ยวกับสมุดงานมาโครส่วนบุคคลในบทนี้ - การบันทึกมาโครทั้งหมดของคุณในสมุดงานเดียว
ความปลอดภัยของมาโคร
มาโครจะถูกจัดเก็บเป็นรหัส VBA ใน Excel เช่นเดียวกับกรณีของรหัสอื่น ๆ รหัสมาโครยังเสี่ยงต่อรหัสที่เป็นอันตรายซึ่งสามารถทำงานได้เมื่อคุณเปิดสมุดงาน นี่เป็นภัยคุกคามต่อคอมพิวเตอร์ของคุณ Microsoft มีสิ่งอำนวยความสะดวก Macro Security ที่ช่วยคุณในการปกป้องคอมพิวเตอร์ของคุณจากไวรัสมาโครดังกล่าว
คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ในบทนี้ - Macro Security
การอ้างอิงแบบสัมบูรณ์และการอ้างอิงแบบสัมพัทธ์
ขณะบันทึกมาโครคุณสามารถใช้การอ้างอิงแบบสัมบูรณ์หรือการอ้างอิงแบบสัมพัทธ์สำหรับเซลล์ที่คุณกำลังคลิก การอ้างอิงแบบสัมบูรณ์ทำให้แมโครของคุณทำงานที่เซลล์เดียวกับที่คุณบันทึกมาโคร ในทางกลับกันการอ้างอิงแบบสัมพัทธ์ทำให้แมโครของคุณทำงานที่เซลล์ที่ใช้งานอยู่
คุณจะได้เรียนรู้เกี่ยวกับสิ่งเหล่านี้ในบท - การใช้การอ้างอิงแบบสัมบูรณ์สำหรับมาโครและการใช้การอ้างอิงแบบสัมพัทธ์สำหรับมาโคร
รหัสมาโครใน VBA
คุณสามารถบันทึกและเรียกใช้แมโครจาก Excel ได้แม้ว่าคุณจะไม่รู้จัก Excel VBA ก็ตาม อย่างไรก็ตามหากคุณต้องแก้ไขแมโครที่บันทึกไว้หรือสร้างมาโครด้วยการเขียนโค้ด VBA คุณควรเรียนรู้ Excel VBA คุณสามารถอ้างถึงบทช่วยสอน Excel VBA ในไลบรารีของบทช่วยสอนนี้สำหรับสิ่งนี้
อย่างไรก็ตามคุณควรทราบวิธีดูโค้ดมาโคร คุณสามารถเรียนรู้วิธีเข้าถึงตัวแก้ไข VBA ใน Excel และเกี่ยวกับส่วนต่างๆของตัวแก้ไข VBA ในบท - Excel VBA
คุณสามารถเรียนรู้วิธีการดูรหัสแมโครในโปรแกรมแก้ไข Excel VBA และคุณสามารถเข้าใจรหัสแมโครได้ในบท - การทำความเข้าใจรหัสแมโคร
การกำหนดมาโครให้กับวัตถุ
คุณสามารถกำหนดมาโครให้กับวัตถุเช่นรูปร่างหรือกราฟิกหรือตัวควบคุม จากนั้นคุณสามารถเรียกใช้แมโครโดยคลิกที่วัตถุนั้น คุณจะได้เรียนรู้เกี่ยวกับเรื่องนี้ในบท - การกำหนดมาโครให้กับวัตถุ
ใช้มาโคร
Excel มีหลายวิธีในการเรียกใช้แมโคร คุณสามารถเลือกวิธีที่คุณต้องการเรียกใช้แมโคร คุณจะได้เรียนรู้เกี่ยวกับวิธีการต่างๆที่เป็นไปได้ในการเรียกใช้แมโครในบท - การเรียกใช้มาโคร
การสร้างมาโครโดยใช้ VBA Editor
หากคุณตัดสินใจที่จะเขียนโค้ดมาโครคุณสามารถเรียนรู้ได้ในบทที่ - การสร้างมาโครโดยใช้ VBA Editor อย่างไรก็ตามสิ่งที่จำเป็นต้องมีคือคุณควรมีความรู้เกี่ยวกับ Excel VBA
การแก้ไขมาโคร
คุณสามารถแก้ไขรหัสแมโครในโปรแกรมแก้ไข Excel VBA หากคุณต้องการเปลี่ยนแปลงอย่างกว้างขวางคุณควรมีความรู้เกี่ยวกับ Excel VBA แต่ถ้าคุณต้องการเปลี่ยนแปลงโค้ดเพียงเล็กน้อยหรือหากคุณต้องการคัดลอกโค้ด VBA จากมาโครที่บันทึกไปยังมาโครอื่นคุณสามารถอ้างถึงบท - การแก้ไขมาโคร
คุณสามารถเปลี่ยนชื่อมาโครและแม้แต่ลบมันได้ คุณจะได้เรียนรู้เกี่ยวกับเรื่องนี้ในบทเดียวกัน
แบบฟอร์มผู้ใช้
โดยปกติจะใช้แบบฟอร์มเพื่อรวบรวมข้อมูลที่จำเป็น มันจะอธิบายตัวเองทำให้งานง่าย แบบฟอร์มผู้ใช้ Excel ที่สร้างจากโปรแกรมแก้ไข Excel VBA มีจุดประสงค์เดียวกันโดยมีตัวเลือกที่คุ้นเคยเช่นกล่องข้อความกล่องกาเครื่องหมายปุ่มตัวเลือกกล่องรายการกล่องคำสั่งผสมแถบเลื่อน ฯลฯ เป็นตัวควบคุม
คุณจะได้เรียนรู้วิธีสร้างฟอร์มผู้ใช้และวิธีใช้ตัวควบคุมต่างๆในบท - ฟอร์มผู้ใช้
การดีบักรหัสมาโคร
ในบางครั้งมาโครอาจไม่ทำงานตามที่คาดไว้ คุณอาจสร้างมาโครหรืออาจใช้มาโครที่ใครบางคนให้มา คุณสามารถดีบักโค้ดแมโครได้เช่นเดียวกับที่คุณดีบักโค้ดอื่น ๆ เพื่อค้นหาข้อบกพร่องและแก้ไข คุณจะได้เรียนรู้เกี่ยวกับเรื่องนี้ในบท - การแก้จุดบกพร่องรหัสมาโคร
การกำหนดค่ามาโครเพื่อเรียกใช้เมื่อเปิดสมุดงาน
คุณสามารถทำให้แมโครของคุณทำงานโดยอัตโนมัติเมื่อคุณเปิดสมุดงาน คุณสามารถทำได้โดยการสร้างแมโคร Auto_Run หรือโดยการเขียนรหัส VBA สำหรับเหตุการณ์ที่เปิดในสมุดงาน คุณจะได้เรียนรู้สิ่งนี้ในบท - การกำหนดค่ามาโครเพื่อเรียกใช้เมื่อเปิดสมุดงาน
คุณสามารถสร้างมาโครด้วยคำสั่ง Excel ได้โดยบันทึกจังหวะสำคัญและคลิกเมาส์ตั้งชื่อมาโครและระบุวิธีจัดเก็บมาโคร แมโครที่บันทึกไว้สามารถรันด้วยคำสั่ง Excel
สมมติว่าคุณต้องรวบรวมผลลัพธ์บางอย่างซ้ำ ๆ ในรูปแบบต่อไปนี้ -

แทนที่จะสร้างตารางในแต่ละครั้งคุณสามารถมีมาโครเพื่อทำแทนคุณได้
การบันทึกมาโคร
ในการบันทึกแมโครให้ทำดังต่อไปนี้ -
- คลิกแท็บ VIEW บน Ribbon
- คลิกมาโครในกลุ่มมาโคร
- เลือกบันทึกมาโครจากรายการแบบเลื่อนลง

Record Macro กล่องโต้ตอบปรากฏขึ้น
ประเภท MyFirstMacro ในกล่องชื่อมาโคร
ประเภท A Simple Macro ในกล่องคำอธิบายและคลิกตกลง

โปรดจำไว้ว่าทุกครั้งที่คุณกดปุ่มและคลิกเมาส์จะถูกบันทึกทันที
คลิกในเซลล์ B2
สร้างตาราง
คลิกเซลล์อื่นในแผ่นงาน
คลิกแท็บ VIEW บน Ribbon
คลิกมาโคร
เลือก Stop Recording จากรายการแบบเลื่อนลง

การบันทึกมาโครของคุณเสร็จสมบูรณ์
ขั้นตอนแรกในการคลิกที่เซลล์ใดเซลล์หนึ่งมีความสำคัญเนื่องจากจะบอกว่ามาโครต้องเริ่มวางขั้นตอนที่บันทึกไว้ที่ใด เมื่อคุณบันทึกเสร็จแล้วคุณต้องคลิกหยุดการบันทึกเพื่อหลีกเลี่ยงการบันทึกขั้นตอนที่ไม่จำเป็น
ใช้มาโคร
คุณสามารถเรียกใช้แมโครที่คุณบันทึกไว้กี่ครั้งก็ได้ที่คุณต้องการ ในการเรียกใช้แมโครให้ทำดังต่อไปนี้ -
- คลิกที่แผ่นงานใหม่
สังเกตเซลล์ที่ใช้งานอยู่ ในกรณีของเราคือ A1
คลิก VIEW บน Ribbon
คลิก Macros.
เลือก View Macros จากรายการแบบเลื่อนลง

กล่องโต้ตอบมาโครจะปรากฏขึ้น

เฉพาะมาโครที่คุณบันทึกเท่านั้นที่จะปรากฏในรายการแมโคร
คลิกชื่อมาโคร - MyFirstMacro ในกล่องโต้ตอบ Macro คำอธิบายที่คุณพิมพ์ขณะบันทึกมาโครจะแสดงขึ้น คำอธิบายมาโครช่วยให้คุณระบุได้ว่าคุณบันทึกมาโครไว้เพื่อวัตถุประสงค์ใด
คลิกปุ่ม Run ตารางเดียวกับที่คุณสร้างขึ้นขณะบันทึกมาโครจะปรากฏขึ้นในเสี้ยววินาที

คุณได้ค้นพบไม้กายสิทธิ์ที่ Excel ช่วยให้คุณประหยัดเวลาในการทำงานทางโลก คุณจะสังเกตสิ่งต่อไปนี้ -
แม้ว่าเซลล์ที่ใช้งานอยู่ก่อนที่จะเรียกใช้แมโครคือ A1 ตารางจะถูกวางไว้ในเซลล์ B2 ตามที่คุณได้บันทึกไว้
นอกจากนี้เซลล์ที่ใช้งานอยู่จะกลายเป็น E2 เนื่องจากคุณได้คลิกเซลล์นั้นก่อนที่คุณจะหยุดบันทึก
คุณสามารถเรียกใช้แมโครในแผ่นงานหลาย ๆ เซลล์ที่มีเซลล์ที่ใช้งานต่างกันก่อนที่จะเรียกใช้แมโครและปฏิบัติตามเงื่อนไขเดียวกันกับที่ระบุไว้ข้างต้น เพียงจดบันทึกไว้แล้วคุณจะเข้าใจในภายหลังในบทช่วยสอนนี้ว่าเหตุใดจึงเกิดขึ้น
คุณยังสามารถบันทึกมาโครที่วางขั้นตอนที่บันทึกไว้ในเซลล์ที่ใช้งานได้ คุณจะได้เรียนรู้วิธีดำเนินการนี้เมื่อคุณดำเนินการในบทช่วยสอน
การจัดเก็บมาโคร
คุณอาจสงสัยว่าจะบันทึกมาโครที่สร้างขึ้นได้อย่างไร ในบริบทนี้คุณต้องรู้ -
- การจัดเก็บมาโคร
- บันทึกไฟล์ที่เปิดใช้งานแมโคร
เมื่อคุณสร้างมาโครคุณสามารถเลือกตำแหน่งที่จะจัดเก็บมาโครนั้นได้ คุณสามารถทำได้ในไฟล์Record Macro กล่องโต้ตอบ
คลิกช่อง - Store macro in. มีสามตัวเลือกต่อไปนี้ -
- สมุดงานนี้
- สมุดงานใหม่
- สมุดงานมาโครส่วนบุคคล

สมุดงานนี้
นี่คือตัวเลือกเริ่มต้น มาโครจะถูกเก็บไว้ในสมุดงานปัจจุบันของคุณจากจุดที่คุณสร้างแมโคร
สมุดงานใหม่
แต่ไม่แนะนำให้ใช้ตัวเลือกนี้ คุณจะขอให้ Excel จัดเก็บมาโครไว้ในสมุดงานใหม่อื่นและส่วนใหญ่ไม่จำเป็น
สมุดงานมาโครส่วนบุคคล
หากคุณสร้างมาโครหลายตัวที่คุณใช้ในสมุดงานของคุณ Personal Macro Workbook จะช่วยให้คุณสามารถจัดเก็บมาโครทั้งหมดได้ในที่เดียว คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับตัวเลือกนี้ในบทถัดไป
บันทึกไฟล์ที่เปิดใช้งานมาโคร
หากคุณได้เลือก This Workbook เป็นตัวเลือกในการจัดเก็บมาโครคุณจะต้องบันทึกเวิร์กบุ๊กของคุณพร้อมกับมาโคร
พยายามบันทึกสมุดงาน ตามค่าเริ่มต้นคุณจะขอให้ Excel บันทึกเวิร์กบุ๊กเป็นไฟล์. xls Excel แสดงข้อความที่แจ้งว่าไม่สามารถบันทึกโครงการ VB ของฟีเจอร์ Excel ในสมุดงานที่ไม่มีมาโครได้ดังที่แสดงด้านล่าง

Note- ถ้าคุณคลิกใช่ Excel จะบันทึกสมุดงานของคุณเป็นไฟล์. xls ที่ไม่มีมาโครและมาโครของคุณที่คุณเก็บไว้ด้วยตัวเลือกสมุดงานนี้จะไม่ได้รับการบันทึก เพื่อหลีกเลี่ยงปัญหานี้ Excel มีตัวเลือกให้คุณบันทึกเวิร์กบุ๊กของคุณเป็นเวิร์กบุ๊กที่เปิดใช้งานมาโครซึ่งจะมีนามสกุล. xlsm
- คลิกไม่ใช่ในกล่องข้อความเตือน
- เลือก Excel Macro-Enabled Workbook (* .xlsm) ในบันทึกเป็นชนิด
- คลิกบันทึก

คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ในบทต่อ ๆ ไปในบทช่วยสอนนี้
Excel ให้ความสะดวกแก่คุณในการจัดเก็บมาโครทั้งหมดของคุณไว้ในสมุดงานเดียว สมุดงานเรียกว่า Personal Macro Workbook - Personal.xlsb เป็นสมุดงานที่ซ่อนอยู่ในคอมพิวเตอร์ของคุณซึ่งจะเปิดขึ้นทุกครั้งที่คุณเปิด Excel สิ่งนี้ช่วยให้คุณสามารถเรียกใช้แมโครของคุณจากสมุดงานใดก็ได้ จะมีสมุดงาน Macro ส่วนตัวหนึ่งเล่มต่อคอมพิวเตอร์และคุณไม่สามารถแชร์ข้ามคอมพิวเตอร์ได้ คุณสามารถดูและเรียกใช้แมโครในสมุดงาน Macro ส่วนบุคคลจากสมุดงานใดก็ได้บนคอมพิวเตอร์ของคุณ
การบันทึกมาโครในสมุดงานมาโครส่วนตัว
คุณสามารถบันทึกมาโครในสมุดงาน Macro ส่วนบุคคลของคุณได้โดยเลือกเป็นตัวเลือกการจัดเก็บขณะบันทึกมาโคร
เลือก Personal Macro Workbook จากรายการดรอปดาวน์ภายใต้หมวดหมู่ Store macro in.

- บันทึกมาโครที่สองของคุณ
- ให้รายละเอียดมาโครในกล่องโต้ตอบบันทึกมาโครดังที่แสดงด้านล่าง
- คลิกตกลง

การบันทึกของคุณจะเริ่มขึ้น สร้างตารางดังภาพด้านล่าง

หยุดการบันทึก
คลิกแท็บ VIEW บน Ribbon
คลิกมาโคร
เลือก View Macrosจากรายการแบบเลื่อนลง กล่องโต้ตอบมาโครจะปรากฏขึ้น

ชื่อมาโครปรากฏขึ้นพร้อมกับคำนำหน้า PERSONAL.XLSB! แสดงว่ามาโครอยู่ในสมุดงานมาโครส่วนบุคคล
บันทึกสมุดงานของคุณ จะได้รับการบันทึกเป็นไฟล์. xls เนื่องจากมาโครไม่อยู่ในสมุดงานของคุณและปิด Excel
คุณจะได้รับข้อความต่อไปนี้เกี่ยวกับการบันทึกการเปลี่ยนแปลงสมุดงานมาโครส่วนตัว -

คลิกปุ่มบันทึก มาโครของคุณถูกบันทึกไว้ในไฟล์Personal.xlsb ไฟล์บนคอมพิวเตอร์ของคุณ
การซ่อน / เลิกซ่อนสมุดงานมาโครส่วนตัว
สมุดงานมาโครส่วนบุคคลจะถูกซ่อนโดยค่าเริ่มต้น เมื่อคุณเริ่ม Excel เวิร์กบุ๊กแมโครส่วนบุคคลจะถูกโหลด แต่คุณไม่สามารถมองเห็นได้เนื่องจากถูกซ่อนอยู่ คุณสามารถยกเลิกการซ่อนได้ดังนี้ -
คลิก VIEW บน Ribbon
คลิกยกเลิกการซ่อนในกลุ่มหน้าต่าง

กล่องโต้ตอบยกเลิกการซ่อนจะปรากฏขึ้น

PERSONAL.XLSB ปรากฏในกล่อง Unhide workbook และคลิก OK

ตอนนี้คุณสามารถดูมาโครที่บันทึกไว้ในสมุดงานมาโครส่วนตัวได้แล้ว
หากต้องการซ่อนสมุดงานมาโครส่วนบุคคลให้ทำดังต่อไปนี้ -
- คลิกที่สมุดงานมาโครส่วนตัว
- คลิกแท็บ VIEW บน Ribbon
- คลิกซ่อนบน Ribbon
การเรียกใช้แมโครที่บันทึกไว้ในสมุดงานมาโครส่วนบุคคล
คุณสามารถเรียกใช้แมโครที่บันทึกไว้ในสมุดงานมาโครส่วนบุคคลจากสมุดงานใดก็ได้ ในการเรียกใช้มาโครจะไม่สร้างความแตกต่างใด ๆ ไม่ว่าสมุดงานมาโครส่วนบุคคลจะถูกซ่อนหรือไม่ได้ซ่อน
- คลิก View Macros
- เลือกชื่อแมโครจากรายการแมโคร
- คลิกปุ่ม Run มาโครจะทำงาน
การเพิ่ม / ลบมาโครในสมุดงาน Macro ส่วนบุคคล
คุณสามารถเพิ่มมาโครเพิ่มเติมในสมุดงานมาโครส่วนตัวได้โดยการเลือกมาโครสำหรับจัดเก็บมาโครในตัวเลือกขณะบันทึกมาโครดังที่คุณเคยเห็นก่อนหน้านี้
คุณสามารถลบมาโครในสมุดงานมาโครส่วนบุคคลได้ดังนี้ -
- ตรวจสอบให้แน่ใจว่าไม่มีการซ่อนสมุดงานแมโครส่วนบุคคล
- คลิกชื่อแมโครในกล่องโต้ตอบดูมาโคร
- คลิกปุ่มลบ
หากสมุดงานแมโครส่วนบุคคลซ่อนอยู่คุณจะได้รับข้อความว่า“ ไม่สามารถแก้ไขแมโครในสมุดงานที่ซ่อนอยู่”

ยกเลิกการซ่อนสมุดงานแมโครส่วนบุคคลและลบมาโครที่เลือก
มาโครจะไม่ปรากฏในรายการมาโคร อย่างไรก็ตามเมื่อคุณสร้างมาโครใหม่และบันทึกลงในสมุดงานส่วนตัวของคุณหรือลบมาโครใด ๆ ที่มีอยู่คุณจะได้รับแจ้งให้บันทึกสมุดงานส่วนตัวเช่นเดียวกับในกรณีที่คุณบันทึกไว้ในครั้งแรก
มาโครที่คุณสร้างใน Excel จะเขียนด้วยภาษาโปรแกรม VBA (Visual Basic for Applications) คุณจะได้เรียนรู้เกี่ยวกับรหัสแมโครของ Excel ในบทต่อ ๆ ไป ดังที่คุณทราบเมื่อมีรหัสปฏิบัติการจะมีการคุกคามของไวรัส มาโครยังเสี่ยงต่อไวรัส
Macro Viruses คืออะไร?
Excel VBA ซึ่ง Macros ถูกเขียนขึ้นสามารถเข้าถึงการเรียกระบบ Windows ส่วนใหญ่และดำเนินการโดยอัตโนมัติเมื่อเปิดสมุดงาน ดังนั้นจึงมีภัยคุกคามที่อาจเกิดขึ้นจากการมีอยู่ของไวรัสที่เขียนเป็นมาโครและซ่อนอยู่ใน Excel ซึ่งดำเนินการเมื่อเปิดสมุดงาน ดังนั้นมาโครของ Excel อาจเป็นอันตรายต่อคอมพิวเตอร์ของคุณได้หลายประการ อย่างไรก็ตาม Microsoft ได้ใช้มาตรการที่เหมาะสมเพื่อป้องกันสมุดงานจากไวรัสมาโคร
Microsoft ได้แนะนำการรักษาความปลอดภัยของมาโครเพื่อให้คุณสามารถระบุได้ว่ามาโครใดที่คุณเชื่อถือได้และไม่สามารถเชื่อถือได้
สมุดงาน Excel ที่เปิดใช้งานแมโคร
คุณลักษณะการรักษาความปลอดภัยแมโครของ Excel ที่สำคัญที่สุดคือ - นามสกุลไฟล์
สมุดงาน Excel จะถูกบันทึกด้วยนามสกุลไฟล์. xlsx ตามค่าเริ่มต้น คุณสามารถเชื่อถือเวิร์กบุ๊กที่มีนามสกุลไฟล์. xlsx ได้เสมอเนื่องจากไม่สามารถจัดเก็บมาโครได้และจะไม่มีภัยคุกคามใด ๆ
สมุดงาน Excel ที่มีมาโครจะบันทึกด้วยนามสกุลไฟล์. xlsm พวกเขาเรียกว่าเป็นสมุดงาน Excel ที่เปิดใช้งานแมโคร ก่อนที่คุณจะเปิดสมุดงานดังกล่าวคุณควรตรวจสอบให้แน่ใจว่ามาโครที่มีอยู่นั้นไม่เป็นอันตราย สำหรับสิ่งนี้คุณต้องมั่นใจว่าคุณสามารถเชื่อถือที่มาของสมุดงานประเภทนี้ได้
วิธีการไว้วางใจสมุดงานที่เปิดใช้งานมาโคร
Excel มีสามวิธีในการไว้วางใจสมุดงานที่เปิดใช้งานแมโคร
การวางเวิร์กบุ๊กที่เปิดใช้งานแมโครไว้ในโฟลเดอร์ที่เชื่อถือได้
ตรวจสอบว่าแมโครเซ็นชื่อแบบดิจิทัลหรือไม่
การเปิดใช้งานข้อความแจ้งเตือนความปลอดภัยก่อนเปิดสมุดงานที่เปิดใช้งานแมโคร
การวางเวิร์กบุ๊กที่เปิดใช้งานแมโครไว้ในโฟลเดอร์ที่เชื่อถือได้
นี่เป็นวิธีที่ง่ายและดีที่สุดในการจัดการความปลอดภัยของมาโคร Excel ช่วยให้คุณสามารถกำหนดโฟลเดอร์เป็นตำแหน่งที่เชื่อถือได้ วางเวิร์กบุ๊กที่เปิดใช้งานแมโครทั้งหมดของคุณในโฟลเดอร์ที่เชื่อถือได้ คุณสามารถเปิดเวิร์กบุ๊กที่เปิดใช้งานแมโครที่บันทึกไว้ในตำแหน่งนี้โดยไม่มีคำเตือนหรือข้อ จำกัด
ตรวจสอบว่าแมโครเซ็นชื่อแบบดิจิทัลหรือไม่
ลายเซ็นดิจิทัลยืนยันตัวตนของผู้เขียน คุณสามารถกำหนดค่า Excel ให้เรียกใช้แมโครที่ลงนามแบบดิจิทัลจากบุคคลที่เชื่อถือได้โดยไม่มีคำเตือนหรือข้อ จำกัด นอกจากนี้ Excel จะเตือนผู้รับหากมีการเปลี่ยนแปลงตั้งแต่ผู้เขียนลงนาม
การเปิดใช้งานข้อความแจ้งเตือนความปลอดภัยก่อนเปิดสมุดงานที่เปิดใช้งานแมโคร
เมื่อคุณเปิดเวิร์กบุ๊ก Excel จะเตือนคุณว่าเวิร์กบุ๊กมีมาโครและถามว่าคุณต้องการเปิดใช้งานหรือไม่ คุณสามารถคลิกไฟล์Enable Content หากแหล่งที่มาของสมุดงานนั้นเชื่อถือได้

คุณสามารถตั้งค่าตัวเลือกใดก็ได้ในสามตัวเลือกนี้ในศูนย์ความเชื่อถือในตัวเลือกของ Excel
หากคุณทำงานในองค์กรผู้ดูแลระบบอาจเปลี่ยนการตั้งค่าเริ่มต้นเพื่อป้องกันไม่ให้ใครเปลี่ยนการตั้งค่า Microsoft ขอแนะนำว่าคุณอย่าเปลี่ยนการตั้งค่าความปลอดภัยในศูนย์ความเชื่อถือเนื่องจากผลที่ตามมาอาจเกิดจากการสูญหายของข้อมูลการขโมยข้อมูลหรือการบุกรุกด้านความปลอดภัยบนคอมพิวเตอร์หรือเครือข่ายของคุณ
อย่างไรก็ตามคุณสามารถเรียนรู้การตั้งค่าความปลอดภัยของมาโครได้ในส่วนต่อไปนี้และตรวจสอบว่าจำเป็นต้องเปลี่ยนแปลงหรือไม่ คุณต้องใช้สัญชาตญาณของคุณเองในการตัดสินใจเลือกตัวเลือกเหล่านี้โดยพิจารณาจากบริบทและความรู้ของคุณเกี่ยวกับที่มาของไฟล์
การตั้งค่าความปลอดภัยมาโครในศูนย์ความเชื่อถือ
การตั้งค่าแมโครจะอยู่ในศูนย์ความเชื่อถือในตัวเลือกของ Excel ในการเข้าถึงศูนย์ความเชื่อถือให้ทำดังต่อไปนี้ -
คลิกแท็บไฟล์บน Ribbon
คลิกตัวเลือก กล่องโต้ตอบตัวเลือกของ Excel จะปรากฏขึ้น
คลิก Trust Center ในบานหน้าต่างด้านซ้าย
คลิก Trust Center Settings ใต้ Microsoft Excel Trust Center

Trust Center กล่องโต้ตอบปรากฏขึ้น

คุณจะเห็นตัวเลือกต่างๆที่มีอยู่ใน Excel Trust Center ในบานหน้าต่างด้านซ้าย คุณจะได้เรียนรู้เกี่ยวกับตัวเลือกที่เกี่ยวข้องกับแมโคร Excel ในส่วนต่อไปนี้
การตั้งค่ามาโคร
การตั้งค่ามาโครจะอยู่ในศูนย์ความเชื่อถือ

ภายใต้การตั้งค่ามาโครมีสี่ตัวเลือกให้เลือก
Disable all macros without notification - หากเลือกตัวเลือกนี้มาโครและการแจ้งเตือนความปลอดภัยเกี่ยวกับมาโครจะถูกปิดใช้งาน
Disable all macros with notification- มาโครถูกปิดใช้งาน แต่การแจ้งเตือนความปลอดภัยจะปรากฏขึ้นหากมีมาโครอยู่ คุณสามารถเปิดใช้งานมาโครได้ทีละกรณี
Disable all macros except digitally signed macros- มาโครถูกปิดใช้งาน แต่การแจ้งเตือนความปลอดภัยจะปรากฏขึ้นหากมีมาโครอยู่ อย่างไรก็ตามหากมาโครได้รับการลงนามแบบดิจิทัลโดยผู้เผยแพร่ที่เชื่อถือได้มาโครจะทำงานหากคุณไว้วางใจผู้เผยแพร่ หากคุณไม่ไว้วางใจผู้เผยแพร่คุณจะได้รับแจ้งให้เปิดใช้งานมาโครที่ลงนามและไว้วางใจผู้เผยแพร่
Enable all macros (not recommended, susceptible to macro viruses)- หากเลือกตัวเลือกนี้มาโครทั้งหมดจะทำงาน การตั้งค่านี้ทำให้คอมพิวเตอร์ของคุณเสี่ยงต่อโค้ดที่อาจเป็นอันตราย
คุณมีตัวเลือกการรักษาความปลอดภัยเพิ่มเติมภายใต้การตั้งค่ามาโครสำหรับนักพัฒนาพร้อมด้วยกล่องกาเครื่องหมาย
Trust access to the VBA project object model.
ตัวเลือกนี้ช่วยให้สามารถเข้าถึงแบบจำลองอ็อบเจ็กต์ Visual Basic for Applications (VBA) แบบเป็นโปรแกรมจากไคลเอนต์อัตโนมัติ
ตัวเลือกการรักษาความปลอดภัยนี้ใช้สำหรับโค้ดที่เขียนขึ้นเพื่อทำให้โปรแกรม Office ทำงานโดยอัตโนมัติและจัดการกับสภาพแวดล้อม VBA และโมเดลอ็อบเจ็กต์
เป็นการตั้งค่าต่อผู้ใช้และต่อแอปพลิเคชันและปฏิเสธการเข้าถึงโดยค่าเริ่มต้นขัดขวางโปรแกรมที่ไม่ได้รับอนุญาตจากการสร้างรหัสจำลองตัวเองที่เป็นอันตราย
สำหรับไคลเอนต์อัตโนมัติในการเข้าถึงโมเดลอ็อบเจ็กต์ VBA ผู้ใช้ที่รันโค้ดจะต้องให้สิทธิ์การเข้าถึง ในการเปิดการเข้าถึงให้เลือกกล่องกาเครื่องหมาย
การกำหนดตำแหน่งที่ตั้งที่เชื่อถือได้
ถ้าคุณคิดว่าเวิร์กบุ๊กที่เปิดใช้งานมาโครมาจากแหล่งที่เชื่อถือได้คุณควรย้ายไฟล์ไปยังตำแหน่งที่ตั้งที่เชื่อถือได้ซึ่งระบุโดย Excel แทนที่จะเปลี่ยนการตั้งค่าศูนย์ความเชื่อถือเริ่มต้นเป็นการตั้งค่าความปลอดภัยของมาโครที่ปลอดภัยน้อย
คุณสามารถค้นหาการตั้งค่าโฟลเดอร์ที่เชื่อถือได้ใน Trust Center
คลิกกล่องโต้ตอบ Trusted Locations ใน Trust Center ตำแหน่งที่ตั้งที่เชื่อถือได้กำหนดโดย Microsoft Office จะปรากฏทางด้านขวา

คุณสามารถเพิ่มสถานที่ใหม่ลบสถานที่ที่มีอยู่และแก้ไขสถานที่ที่มีอยู่ ตำแหน่งที่เชื่อถือได้ที่ระบุจะได้รับการปฏิบัติโดย Microsoft office ว่าเชื่อถือได้สำหรับการเปิดไฟล์ อย่างไรก็ตามหากคุณเพิ่มหรือแก้ไขตำแหน่งตรวจสอบให้แน่ใจว่าสถานที่นั้นปลอดภัย
คุณยังสามารถค้นหาตัวเลือกที่สำนักงานไม่แนะนำเช่นสถานที่บนอินเทอร์เน็ต
แมโครที่ลงนามแบบดิจิทัลจากแหล่งที่เชื่อถือได้
Microsoft มีตัวเลือกเพื่อรองรับมาโครที่เซ็นชื่อแบบดิจิทัล อย่างไรก็ตามแม้ว่ามาโครจะมีการเซ็นชื่อแบบดิจิทัล แต่คุณต้องตรวจสอบให้แน่ใจว่ามาจากผู้เผยแพร่ที่เชื่อถือได้
คุณจะพบผู้เผยแพร่ที่เชื่อถือได้ในศูนย์ความเชื่อถือ
คลิก Trusted Publishersในกล่องโต้ตอบศูนย์ความเชื่อถือ รายการใบรับรองจะปรากฏทางด้านขวาพร้อมรายละเอียด - ออกให้, ออกโดยและวันที่หมดอายุ
เลือกใบรับรองแล้วคลิกดู

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

ถ้าคุณทราบว่ามาโครหรือมาโครมาจากแหล่งที่เชื่อถือได้คุณสามารถคลิก n ปุ่มเปิดใช้งานเนื้อหาบนแถบข้อความเพื่อเปิดใช้งานมาโคร
คุณสามารถปิดใช้งานตัวเลือกแถบข้อความหากคุณไม่ต้องการการแจ้งเตือนด้านความปลอดภัย ในทางกลับกันคุณสามารถเปิดใช้งานตัวเลือกแถบข้อความเพื่อเพิ่มความปลอดภัย
การเปิด / ปิดการแจ้งเตือนความปลอดภัยบนแถบข้อความ
คุณสามารถเปิด / ปิดการแจ้งเตือนความปลอดภัยด้วยแถบข้อความดังนี้ -
- คลิกแท็บไฟล์บน Ribbon
- คลิกตัวเลือก กล่องโต้ตอบตัวเลือกของ Excel จะปรากฏขึ้น
- คลิกศูนย์ความเชื่อถือ
- คลิกปุ่มการตั้งค่าศูนย์ความเชื่อถือ
- คลิกแถบข้อความ
การตั้งค่าแถบข้อความสำหรับแอปพลิเคชัน Office ทั้งหมดจะปรากฏขึ้น

มีสองตัวเลือกภายใต้ - Showing the Message Bar.
Option 1 - แสดงแถบข้อความในแอปพลิเคชันทั้งหมดเมื่อเนื้อหาที่ใช้งานอยู่เช่นมาโครถูกบล็อก
นี่คือตัวเลือกเริ่มต้น แถบข้อความจะปรากฏขึ้นเมื่อเนื้อหาที่อาจไม่ปลอดภัยถูกปิดใช้งาน
หากคุณได้เลือก - Disable all macros without notification in the Macro Settings of the Trust Centerตัวเลือกนี้ไม่ได้ถูกเลือกและแถบข้อความไม่ปรากฏขึ้น

Option 2 - ไม่ต้องแสดงข้อมูลเกี่ยวกับเนื้อหาที่ถูกบล็อก
หากเลือกตัวเลือกนี้จะปิดใช้งานแถบข้อความและไม่มีการแจ้งเตือนปรากฏขึ้นเกี่ยวกับปัญหาด้านความปลอดภัยไม่ว่าจะตั้งค่าความปลอดภัยใด ๆ ในศูนย์ความเชื่อถือ

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

ตอนนี้รายงานควรอยู่ในเซลล์ B2 และควรอยู่ในรูปแบบที่กำหนด
ตัวอย่างที่กรอกในรายงานจะเป็นดังที่แสดงด้านล่าง -

ยกเว้นข้อมูลในเซลล์ต่อไปนี้ข้อมูลจะคงที่สำหรับทุกรายงานที่คุณสร้างสำหรับโครงการ
- C3 - รายงานสำหรับวันที่
- C13 - จำนวนงานที่เสร็จสมบูรณ์ในวันนี้
- C14 - จำนวนงานทั้งหมดที่เสร็จสมบูรณ์
- C15 -% งานเสร็จสมบูรณ์
นอกจากนี้ใน C3 (รายงานสำหรับวันที่) คุณสามารถวางฟังก์ชัน Excel = TODAY ()ที่วางวันที่ในรายงานของคุณโดยที่คุณไม่ต้องแทรกแซง นอกจากนี้ในเซลล์ C15 คุณสามารถมีสูตร C14 / C12 และจัดรูปแบบเซลล์ C15 เป็นเปอร์เซ็นต์เพื่อให้ Excel คำนวณ% งานเสร็จสมบูรณ์ให้คุณได้
สิ่งนี้ทำให้คุณมีเซลล์เพียงสองเซลล์ - C13 และ C14 ที่คุณต้องเติมทุกวัน ดังนั้นจึงเป็นการดีที่จะมีข้อมูลสำหรับเซลล์ที่เหลือทุกครั้งที่คุณต้องสร้างรายงาน ซึ่งจะช่วยประหยัดเวลาและคุณสามารถทำกิจกรรมทางโลกของการรายงานได้ในเวลาเพียงไม่กี่นาที
ตอนนี้สมมติว่าคุณต้องส่งรายงานดังกล่าวสำหรับสามโครงการ คุณสามารถจินตนาการถึงเวลาที่คุณสามารถประหยัดและทำงานที่ท้าทายมากขึ้นในวันนั้นและแน่นอนว่าจะได้รับรางวัลจากผู้บริหารของคุณ
คุณสามารถบรรลุสิ่งนี้ได้โดยบันทึกมาโครต่อโปรเจ็กต์และเรียกใช้แบบวันต่อวันเพื่อสร้างรายงานที่ต้องการในเวลาเพียงไม่กี่นาที อย่างไรก็ตามทุกครั้งที่คุณเรียกใช้แมโครรายงานควรปรากฏบนแผ่นงานตามที่ระบุไว้ข้างต้นโดยไม่คำนึงถึงเซลล์ที่ใช้งานอยู่ สำหรับสิ่งนี้คุณต้องใช้การอ้างอิงแบบสัมบูรณ์
การตรวจสอบการอ้างอิงที่สมบูรณ์
ในการบันทึกมาโครด้วยการอ้างอิงแบบสัมบูรณ์คุณต้องแน่ใจว่ามาโครกำลังถูกบันทึกโดยเริ่มจากเซลล์ที่ต้องเริ่มขั้นตอน ซึ่งหมายความว่าในกรณีของตัวอย่างที่ให้ไว้ในส่วนก่อนหน้านี้คุณต้องทำสิ่งต่อไปนี้ -
- เริ่มบันทึกมาโคร
- สร้างแผ่นงานใหม่
- คลิกในเซลล์อื่นที่ไม่ใช่ B2 ในแผ่นงานใหม่
- คลิกในเซลล์ B2
- บันทึกมาโครต่อไป
สิ่งนี้จะสร้างแผ่นงานใหม่สำหรับทุกรายงานใหม่และรับรูปแบบรายงานที่วางไว้ในเซลล์ B2 ทุกครั้งที่คุณเรียกใช้แมโคร
Note - สามขั้นตอนแรกที่ระบุไว้ข้างต้นมีความสำคัญ
ถ้าคุณไม่สร้างเวิร์กชีตใหม่เมื่อคุณเรียกใช้แมโครมันจะวางสิ่งที่คุณบันทึกไว้ในแผ่นงานเดียวกันในที่เดียวกัน นี่ไม่ใช่สิ่งที่คุณต้องการ คุณต้องมีรายงานทุกฉบับในแผ่นงานอื่น
ถ้าคุณไม่คลิกในเซลล์อื่นที่จุดเริ่มต้นของการบันทึกแม้ว่าเซลล์ที่ใช้งานอยู่จะเป็น B2 แต่ Excel จะวางขั้นตอนที่บันทึกไว้ในเซลล์ที่ใช้งานอยู่ เมื่อคุณเรียกใช้แมโครมันจะวางรูปแบบรายงานที่บันทึกไว้ที่ส่วนใด ๆ ของแผ่นงานโดยยึดตามเซลล์ที่ใช้งานอยู่ โดยการคลิกอย่างชัดเจนในเซลล์อื่นที่ไม่ใช่ B2 จากนั้นเซลล์ B2 แสดงว่าคุณกำลังบอกให้เครื่องบันทึกวางขั้นตอนมาโครของคุณไว้ในเซลล์ B2 เสมอ
การบันทึกมาโคร
คุณสามารถเริ่มบันทึกมาโครด้วยไฟล์ Record Macroคำสั่งบน Ribbon ภายใต้แท็บมุมมอง→มาโคร คุณยังสามารถคลิกไฟล์Start Recording Macro ปุ่มปรากฏทางด้านซ้ายของแถบงาน Excel

เริ่มบันทึกมาโคร Record Macro กล่องโต้ตอบปรากฏขึ้น
ตั้งชื่อที่มีความหมายเพื่อระบุมาโครเป็นรายงานของโครงการเฉพาะ
เลือกสมุดงานนี้ภายใต้ Store macro inเนื่องจากคุณจะสร้างรายงานจากสมุดงานเฉพาะนี้เท่านั้น
ให้คำอธิบายมาโครของคุณแล้วคลิกตกลง

มาโครของคุณเริ่มบันทึก
สร้างแผ่นงานใหม่ เพื่อให้แน่ใจว่ารายงานใหม่ของคุณจะอยู่ในแผ่นงานใหม่
คลิกในเซลล์อื่นที่ไม่ใช่ B2 ในแผ่นงานใหม่
คลิกในเซลล์ B2 เพื่อให้แน่ใจว่ามาโครจะวางขั้นตอนที่คุณบันทึกไว้ใน B2 เสมอ
สร้างรูปแบบสำหรับรายงาน
กรอกข้อมูลคงที่สำหรับรายงานโครงการ
วาง = TODAY () ใน C3 และ = C14 / C12 ในเซลล์ C15
จัดรูปแบบเซลล์ด้วยวันที่
หยุดบันทึกมาโคร

คุณสามารถหยุดบันทึกมาโครได้ด้วยไฟล์ Stop Recording คำสั่งบน Ribbon ภายใต้แท็บมุมมอง→มาโครหรือโดยการคลิกปุ่มหยุดการบันทึกมาโครที่ด้านซ้ายของแถบงาน Excel

มาโครรายงานโครงการของคุณพร้อมแล้ว บันทึกเวิร์กบุ๊กเป็นเวิร์กบุ๊กที่เปิดใช้งานมาโคร (ที่มีนามสกุล. xlsm)
ใช้มาโคร
คุณสามารถสร้างรายงานจำนวนเท่าใดก็ได้ในเวลาไม่กี่วินาทีเพียงแค่เรียกใช้มาโคร
- คลิกปุ่ม VIEW บน Ribbon
- คลิกมาโคร
- เลือกดูมาโครจากรายการดรอปดาวน์ กล่องโต้ตอบมาโครจะปรากฏขึ้น
- คลิกมาโคร Report_ProjectXYZ
- คลิกปุ่ม Run
แผ่นงานใหม่จะถูกสร้างขึ้นในสมุดงานของคุณโดยมีการสร้างลายฉลุรายงานในเซลล์ B2
มาโครอ้างอิงสัมพัทธ์บันทึกค่าชดเชยจากเซลล์ที่ใช้งานอยู่ มาโครดังกล่าวจะมีประโยชน์หากคุณต้องทำซ้ำขั้นตอนที่ต่างๆในแผ่นงาน
สมมติว่าคุณต้องวิเคราะห์ข้อมูลของผู้มีสิทธิเลือกตั้งที่รวบรวมจาก 280 เขตเลือกตั้ง สำหรับแต่ละเขตเลือกตั้งจะมีการรวบรวมรายละเอียดดังต่อไปนี้ -
- ชื่อเขตเลือกตั้ง.
- จำนวนประชากรทั้งหมดในเขตเลือกตั้ง
- จำนวนผู้มีสิทธิเลือกตั้งในเขตเลือกตั้ง.
- จำนวนผู้มีสิทธิเลือกตั้งชายและ
- จำนวนผู้มีสิทธิเลือกตั้งหญิง
ข้อมูลมีให้คุณในแผ่นงานตามที่ระบุด้านล่าง

ไม่สามารถวิเคราะห์ข้อมูลในรูปแบบข้างต้นได้ ดังนั้นให้จัดเรียงข้อมูลเป็นตารางดังภาพด้านล่าง

หากคุณพยายามจัดเรียงข้อมูลที่ระบุในรูปแบบด้านบน -
ต้องใช้เวลาพอสมควรในการจัดเรียงข้อมูลจาก 280 เขตเลือกตั้ง
อาจเกิดข้อผิดพลาดได้ง่าย
มันกลายเป็นงานทางโลกที่ไม่อนุญาตให้คุณมุ่งเน้นไปที่สิ่งทางเทคนิค
วิธีแก้ปัญหาคือการบันทึกแมโครเพื่อให้คุณสามารถทำงานให้เสร็จได้ภายในเวลาไม่เกินสองสามวินาที มาโครจำเป็นต้องใช้การอ้างอิงแบบสัมพัทธ์เนื่องจากคุณจะย้ายแถวลงในขณะที่จัดเรียงข้อมูล
การใช้การอ้างอิงแบบสัมพัทธ์
เพื่อให้เครื่องบันทึกแมโครทราบว่าต้องใช้การอ้างอิงแบบสัมพัทธ์ให้ทำดังต่อไปนี้ -
คลิก VIEW บน Ribbon
คลิก Macros.
คลิก Use Relative References.

การเตรียมรูปแบบข้อมูล
ขั้นตอนแรกในการจัดเรียงข้อมูลที่ระบุข้างต้นคือการกำหนดรูปแบบข้อมูลในตารางที่มีส่วนหัว
สร้างแถวของส่วนหัวตามที่แสดงด้านล่าง

การบันทึกมาโคร
บันทึกมาโครดังนี้ -
คลิกบันทึกมาโคร
ตั้งชื่อที่มีความหมายเช่น DataArrange ให้กับมาโคร
ประเภท = row ()- 3ในเซลล์ B4 เนื่องจาก S. No. คือหมายเลขแถวปัจจุบัน - 3 แถวด้านบน
ตัดเซลล์ B5, B6, B7, B8 และ B9 แล้ววางลงในเซลล์ C4 ถึง C8 ตามลำดับ
ตอนนี้คลิกในเซลล์ B5 ตารางของคุณมีลักษณะดังที่แสดงด้านล่าง

ข้อมูลชุดแรกถูกจัดเรียงไว้ในแถวแรกของตาราง ลบแถว B6 - B11 แล้วคลิกในเซลล์ B5

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

เรียกใช้แมโครอีกครั้ง ชุดข้อมูลที่สามจะถูกจัดเรียงในแถวที่สามของตารางและเซลล์ที่ใช้งานอยู่จะกลายเป็น B7

ทุกครั้งที่คุณเรียกใช้แมโครเซลล์ที่ใช้งานอยู่จะเลื่อนไปยังแถวถัดไปซึ่งช่วยให้สามารถทำขั้นตอนที่บันทึกซ้ำในตำแหน่งที่เหมาะสมได้ สิ่งนี้เป็นไปได้เนื่องจากการอ้างอิงแบบสัมพัทธ์ในมาโคร
เรียกใช้แมโครจนกว่าชุดข้อมูล 280 ทั้งหมดจะถูกจัดเรียงเป็น 280 แถวในตาราง กระบวนการนี้ใช้เวลาไม่กี่วินาทีและเนื่องจากขั้นตอนต่างๆเป็นไปโดยอัตโนมัติการออกกำลังกายทั้งหมดจึงปราศจากข้อผิดพลาด
Excel เก็บมาโครเป็นรหัส Excel VBA (Visual Basic for Applications) หลังจากบันทึกมาโครแล้วคุณสามารถดูโค้ดที่สร้างแก้ไขคัดลอกบางส่วนของมัน ฯลฯ คุณยังสามารถเขียนโค้ดมาโครด้วยตัวเองได้หากคุณพอใจกับการเขียนโปรแกรมใน VBA
คุณจะได้เรียนรู้วิธีการสร้างมาโครโดยการเขียนโค้ด VBA ในบทที่ - การสร้างมาโครโดยใช้ VBA Editor คุณจะได้เรียนรู้วิธีแก้ไขมาโครโดยการแก้ไขโค้ด VBA ในบท - การแก้ไขมาโคร คุณจะได้เรียนรู้คุณสมบัติของ Excel VBA ในบทนี้
แท็บนักพัฒนาบน Ribbon
คุณสามารถเข้าถึงรหัสแมโครใน VBA จากแท็บนักพัฒนาบน Ribbon

หากคุณไม่พบแท็บนักพัฒนาบน Ribbon คุณต้องเพิ่มดังต่อไปนี้ -
คลิกขวาที่ Ribbon
เลือก Customize the Ribbon จากรายการแบบเลื่อนลง

Excel Options กล่องโต้ตอบปรากฏขึ้น
เลือก Main Tabs จาก Customize the Ribbon รายการแบบเลื่อนลง
เลือกช่อง - นักพัฒนาในรายการแท็บหลักแล้วคลิกตกลง แท็บนักพัฒนาจะปรากฏขึ้น

คำสั่งของนักพัฒนาสำหรับ Macros
คุณจำเป็นต้องทราบคำสั่งสำหรับมาโครภายใต้แท็บผู้พัฒนา
คลิกแท็บ DEVELOPER บน Ribbon คำสั่งต่อไปนี้มีอยู่ในกลุ่มรหัส -
- Visual Basic
- Macros
- บันทึกมาโคร
- ใช้การอ้างอิงแบบสัมพัทธ์
- ความปลอดภัยของมาโคร

คำสั่ง Visual Basic ใช้เพื่อเปิด VBA Editor ใน Excel และคำสั่ง Macros ใช้เพื่อดูเรียกใช้และลบมาโคร
คุณได้เรียนรู้คำสั่งอื่นที่ไม่ใช่ VBA Editor ในบทก่อนหน้านี้แล้ว
บรรณาธิการ VBA
VBA Editor หรือ VBE เป็นแพลตฟอร์มสำหรับนักพัฒนาสำหรับ VBA ใน Excel
เปิดสมุดงาน - MyFirstMacro.xlsm ที่คุณบันทึกไว้ก่อนหน้านี้ในบท - การสร้างมาโครแบบง่ายในบทช่วยสอนนี้
คุณสามารถเปิด VBE ได้สองวิธี -
Option 1 - คลิก Visual Basic ในกลุ่ม Code ภายใต้แท็บ Developer บน Ribbon

Option 2 - คลิกแก้ไขในกล่องโต้ตอบมาโครที่ปรากฏขึ้นเมื่อคุณคลิกแท็บมุมมอง→มาโคร→ดูมาโคร

VBE ปรากฏในหน้าต่างใหม่

ชื่อของชื่อเวิร์กบุ๊กที่เปิดใช้งานแมโคร Excel ของคุณจะปรากฏพร้อมกับคำนำหน้า - Microsoft Visual Basic for Applications
คุณจะพบสิ่งต่อไปนี้ใน VBE -
- Projects Explorer
- Properties.
- หน้าต่างโมดูลพร้อมรหัส
Projects Explorer
Project Explorer คือที่ที่คุณค้นหาชื่อโครงการ VBA ภายใต้โครงการคุณจะพบชื่อแผ่นงานและชื่อโมดูล เมื่อคุณคลิกชื่อโมดูลรหัสที่เกี่ยวข้องจะปรากฏขึ้นทางด้านขวาในหน้าต่าง
หน้าต่างคุณสมบัติ
คุณสมบัติคือพารามิเตอร์สำหรับออบเจ็กต์ VBA เมื่อคุณมีวัตถุเช่นปุ่มคำสั่งคุณสมบัติของวัตถุจะปรากฏในหน้าต่างคุณสมบัติ
หน้าต่างโมดูลพร้อมรหัส
รหัสของมาโครจะถูกเก็บไว้ในโมดูลใน VBA เมื่อคุณเลือกมาโครและคลิกแก้ไขโค้ดของมาโครจะปรากฏในหน้าต่างโมดูลที่เกี่ยวข้อง
เมื่อคุณบันทึกแมโคร Excel จะจัดเก็บเป็นรหัส VBA คุณสามารถดูรหัสนี้ได้ในตัวแก้ไข VBA คุณสามารถเข้าใจโค้ดและแก้ไขได้หากคุณมีความรู้เกี่ยวกับ Excel VBA เป็นอย่างดี คุณสามารถอ้างถึงบทช่วยสอน Excel VBA ในไลบรารีของบทช่วยสอนนี้เพื่อทำความเข้าใจกับภาษา
อย่างไรก็ตามคุณยังสามารถดูรหัสแมโครในตัวแก้ไข Excel VBA และจับคู่กับขั้นตอนที่คุณบันทึกไว้ในมาโครได้ คุณจะได้เรียนรู้วิธีดูโค้ดและทำความเข้าใจกับมาโครตัวแรกที่คุณสร้างขึ้นในบทช่วยสอนนี้ - MyFirstMacro
การดูรหัสมาโครใน VBA Editor
ในการดูรหัสแมโครให้ทำดังต่อไปนี้ -
- เปิดสมุดงานที่คุณจัดเก็บแมโคร
- คลิกแท็บ VIEW บน Ribbon
- คลิกมาโคร
- เลือกดูมาโครจากรายการดรอปดาวน์

กล่องโต้ตอบมาโครจะปรากฏขึ้น
- คลิก MyFirstMacro ในรายการมาโคร
- คลิกปุ่มแก้ไข

ตัวแก้ไข VBA จะเปิดขึ้นและรหัสของแมโคร MyFirstMacro จะปรากฏขึ้น

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

เลื่อนรหัสลงเพื่อดูรหัสเพิ่มเติม หรือคุณสามารถขยายหน้าต่างรหัส

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

การกำหนดมาโครให้เป็นรูปร่าง
คุณสามารถแทรกรูปร่างในแผ่นงานของคุณที่อยู่ในรูปแบบที่มีความหมายพร้อมข้อความอธิบายตัวเองซึ่งเมื่อคลิกจะเรียกใช้แมโครที่กำหนดให้
คลิก INSERT บน Ribbon
คลิก Shapes ในกลุ่มภาพประกอบ
เลือกรูปร่างสำเร็จรูปใด ๆ ที่ปรากฏในรายการแบบเลื่อนลง ตัวอย่างเช่นรูปร่างผังงาน - การเตรียมการขณะที่คุณอยู่ในขั้นตอนการเตรียมข้อมูล

วาดรูปร่างและจัดรูปแบบ

คลิกขวาที่รูปร่างและเลือก Edit Text จากรายการแบบเลื่อนลง
พิมพ์ข้อความภายในรูปร่าง - เรียกใช้มาโคร
จัดรูปแบบข้อความ

- คลิกขวาที่รูปร่าง
- เลือกกำหนดมาโครจากรายการแบบเลื่อนลง

กล่องโต้ตอบกำหนดมาโครจะปรากฏขึ้น คลิกชื่อแมโครเช่น RelativeMacro แล้วคลิกตกลง

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

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

ขั้นตอนที่เหลือจะเหมือนกับรูปทรงที่ให้ไว้ในส่วนก่อนหน้า
การกำหนดมาโครให้กับตัวควบคุม
การแทรกตัวควบคุม VBA และกำหนดมาโครทำให้งานของคุณดูเป็นมืออาชีพ คุณสามารถแทรกตัวควบคุม VBA จากแท็บนักพัฒนาบน Ribbon
คลิก DEVELOPER บน Ribbon
คลิก Insert ในกลุ่มการควบคุม

เลือกไอคอนปุ่มภายใต้ Form Controls จากรายการแบบเลื่อนลงตามที่แสดงในภาพหน้าจอด้านล่าง -

คลิกเซลล์บนแผ่นงานที่คุณต้องการแทรกตัวควบคุมปุ่ม กล่องโต้ตอบกำหนดมาโครจะปรากฏขึ้น
คลิกชื่อมาโครแล้วคลิกตกลง

ปุ่มควบคุมที่มีมาโครที่กำหนดจะถูกแทรก

- คลิกขวาที่ปุ่ม
- คลิกแก้ไขข้อความ
- พิมพ์ - เรียกใช้มาโคร
- จัดรูปแบบข้อความและปุ่มปรับขนาด

คุณสามารถเรียกใช้มาโครกี่ครั้งก็ได้โดยเพียงแค่คลิกปุ่มซ้ำ ๆ
การใช้ Form Controls เป็นวิธีที่ง่ายและมีประสิทธิภาพในการโต้ตอบกับผู้ใช้ คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ในบท - การโต้ตอบกับผู้ใช้
มีหลายวิธีในการเรียกใช้แมโครในสมุดงานของคุณ มาโครจะถูกบันทึกไว้ในสมุดงานที่เปิดใช้งานแมโครของคุณหรือในสมุดงานแมโครส่วนบุคคลของคุณซึ่งคุณสามารถเข้าถึงได้จากสมุดงานใด ๆ ตามที่คุณได้เรียนรู้มาก่อนหน้านี้
คุณสามารถเรียกใช้แมโครได้ด้วยวิธีต่อไปนี้ -
- การเรียกใช้มาโครจากแท็บมุมมอง
- เรียกใช้มาโครโดยกด Ctrl บวกปุ่มลัด
- เรียกใช้แมโครโดยคลิกปุ่มบนแถบเครื่องมือด่วน
- เรียกใช้แมโครโดยคลิกปุ่มในกลุ่มแบบกำหนดเองบน Ribbon
- เรียกใช้มาโครโดยคลิกที่วัตถุกราฟิก
- การเรียกใช้มาโครจากแท็บนักพัฒนา
- เรียกใช้มาโครจาก VBA Editor
เรียกใช้มาโครจากแท็บมุมมอง
คุณได้เรียนรู้การเรียกใช้แมโครจากแท็บมุมมองบน Ribbon แล้ว สรุปสั้น ๆ -
- คลิกแท็บ VIEW บน Ribbon
- คลิกมาโคร
- เลือกดูมาโครจากรายการดรอปดาวน์

กล่องโต้ตอบมาโครจะปรากฏขึ้น
- คลิกชื่อมาโคร
- คลิกปุ่ม Run

การเรียกใช้มาโครด้วยปุ่มทางลัด
คุณสามารถกำหนดคีย์ลัด (ปุ่ม Ctrl +) สำหรับมาโคร คุณสามารถทำได้ขณะบันทึกมาโครในไฟล์Create Macroกล่องโต้ตอบ มิฉะนั้นคุณสามารถเพิ่มได้ในภายหลังในไฟล์Macro Options กล่องโต้ตอบ
การเพิ่มปุ่มทางลัดขณะบันทึกมาโคร
- คลิกแท็บ VIEW
- คลิกมาโคร
- เลือกบันทึกมาโครจากรายการแบบเลื่อนลง
กล่องโต้ตอบสร้างมาโครจะปรากฏขึ้น
- พิมพ์ชื่อมาโคร
- พิมพ์ตัวอักษรพูด q ในช่องถัดจาก Ctrl + ใต้ปุ่มทางลัด

การเพิ่มปุ่มทางลัดในตัวเลือกมาโคร
- คลิกแท็บ VIEW
- คลิกมาโคร
- เลือกดูมาโครจากรายการดรอปดาวน์
กล่องโต้ตอบมาโครจะปรากฏขึ้น
- เลือกชื่อมาโคร
- คลิกปุ่มตัวเลือก

กล่องโต้ตอบตัวเลือกมาโครจะปรากฏขึ้น พิมพ์ตัวอักษรพูด q ในช่องถัดจาก Ctrl + ใต้ปุ่มทางลัด คลิกตกลง

ในการเรียกใช้แมโครโดยใช้คีย์ลัดให้กดแป้น Ctrl และคีย์ q พร้อมกัน มาโครจะทำงาน
Note- คุณสามารถใช้ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่สำหรับคีย์ลัดของมาโคร ถ้าคุณใช้ชุดตัวอักษร Ctrl + ที่เป็นแป้นพิมพ์ลัดของ Excel คุณจะแทนที่มัน ตัวอย่างเช่น Ctrl + C, Ctrl + V, Ctrl + X เป็นต้นดังนั้นให้ใช้เขตอำนาจศาลของคุณในขณะที่เลือกตัวอักษร
เรียกใช้แมโครผ่านแถบเครื่องมือด่วน
คุณสามารถเพิ่มปุ่มมาโครลงในแถบเครื่องมือด่วนและเรียกใช้แมโครได้โดยคลิก ตัวเลือกนี้จะมีประโยชน์เมื่อคุณเก็บมาโครไว้ในสมุดงานมาโครส่วนตัว ปุ่มที่เพิ่มจะปรากฏบนแถบเครื่องมือด่วนในสมุดงานใด ๆ ที่คุณเปิดจึงทำให้คุณเรียกใช้แมโครได้ง่าย
สมมติว่าคุณมีมาโครชื่อ MyMacro ในสมุดงานมาโครส่วนตัวของคุณ
ในการเพิ่มปุ่มมาโครลงในแถบเครื่องมือด่วนให้ทำดังต่อไปนี้ -
คลิกขวาที่แถบเครื่องมือด่วน
เลือก Customize Quick Access Toolbar จากรายการแบบเลื่อนลง

กล่องโต้ตอบตัวเลือกของ Excel จะปรากฏขึ้น เลือกมาโครจากรายการแบบเลื่อนลงภายใต้หมวดหมู่ -Choose commands from.

รายการมาโครจะปรากฏภายใต้มาโคร
- คลิก PERSONAL.XLSB! MyMacro
- คลิกปุ่มเพิ่ม

ชื่อมาโครจะปรากฏทางด้านขวาพร้อมรูปภาพปุ่มมาโคร
ในการเปลี่ยนภาพปุ่มมาโครให้ดำเนินการดังนี้ -
- คลิกชื่อมาโครในกล่องด้านขวา
- คลิกปุ่ม Modify

Modify Buttonกล่องโต้ตอบปรากฏขึ้น เลือกหนึ่งสัญลักษณ์เพื่อตั้งเป็นไอคอนของปุ่ม

แก้ไขชื่อที่แสดงที่ปรากฏขึ้นเมื่อคุณวางตัวชี้บนรูปภาพปุ่มบนแถบเครื่องมือด่วนเป็นชื่อที่มีความหมายเช่นเรียกใช้ MyMacro สำหรับตัวอย่างนี้ คลิกตกลง

ชื่อมาโครและสัญลักษณ์ไอคอนจะเปลี่ยนไปในบานหน้าต่างด้านขวา คลิกตกลง

ปุ่มมาโครจะปรากฏบนแถบเครื่องมือด่วนและชื่อที่แสดงของแมโครจะปรากฏขึ้นเมื่อคุณวางตัวชี้บนปุ่ม

ในการเรียกใช้แมโครเพียงคลิกปุ่มแมโครบนแถบเครื่องมือด่วน
เรียกใช้มาโครในกลุ่มที่กำหนดเอง
คุณสามารถเพิ่มกลุ่มแบบกำหนดเองและปุ่มแบบกำหนดเองบน Ribbon และกำหนดมาโครของคุณให้กับปุ่ม
- คลิกขวาที่ Ribbon
- เลือกกำหนด Ribbon เองจากรายการแบบเลื่อนลง

Excel Options กล่องโต้ตอบปรากฏขึ้น
- เลือกแท็บหลักภายใต้กำหนด Ribbon เอง
- คลิกแท็บใหม่

แท็บใหม่ (กำหนดเอง) จะปรากฏในรายการแท็บหลัก
- คลิกแท็บใหม่ (กำหนดเอง)
- คลิกปุ่มกลุ่มใหม่
กลุ่มใหม่ (กำหนดเอง) ปรากฏภายใต้แท็บใหม่ (กำหนดเอง)
- คลิกแท็บใหม่ (กำหนดเอง)
- คลิกปุ่มเปลี่ยนชื่อ

กล่องโต้ตอบเปลี่ยนชื่อจะปรากฏขึ้น พิมพ์ชื่อแท็บแบบกำหนดเองของคุณที่ปรากฏในแท็บหลักบน Ribbon พูด - My Macros แล้วคลิกตกลง

Note- แท็บหลักทั้งหมดบน Ribbon เป็นอักษรตัวพิมพ์ใหญ่ คุณสามารถใช้ดุลยพินิจของคุณในการใช้ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก ฉันได้เลือกตัวพิมพ์เล็กที่มีการใช้อักษรตัวพิมพ์ใหญ่เพื่อให้โดดเด่นในแท็บมาตรฐาน
ชื่อแท็บใหม่จะเปลี่ยนเป็น My Macros (กำหนดเอง)
- คลิกกลุ่มใหม่ (กำหนดเอง)
- คลิกปุ่มเปลี่ยนชื่อ

Renameกล่องโต้ตอบปรากฏขึ้น พิมพ์ชื่อกลุ่มในกล่องโต้ตอบชื่อที่แสดงและคลิกตกลง

ชื่อกลุ่มใหม่จะเปลี่ยนเป็น Personal Macros (กำหนดเอง)
คลิกมาโครในบานหน้าต่างด้านซ้ายใต้ Choose commands from.

- เลือกชื่อมาโครของคุณพูด - MyFirstMacro จากรายการมาโคร
- คลิกปุ่มเพิ่ม

มาโครจะถูกเพิ่มเข้าไปในกลุ่ม Personal Macros (กำหนดเอง)

- คลิก My Macros (กำหนดเอง) ในรายการ
- คลิกลูกศรเพื่อเลื่อนแท็บขึ้นหรือลง

ตำแหน่งของแท็บในรายการแท็บหลักกำหนดตำแหน่งที่จะวางบน Ribbon คลิกตกลง

แท็บแบบกำหนดเองของคุณ - My Macros จะปรากฏบน Ribbon
คลิกแท็บ - My Macros กลุ่ม Personal Macros จะปรากฏบน Ribbon MyFirstMacro ปรากฏในกลุ่ม Personal Macros ในการเรียกใช้แมโครเพียงคลิกที่ MyFirstMacro ในกลุ่ม Personal Macros

การเรียกใช้มาโครโดยคลิกที่วัตถุ
คุณสามารถแทรกวัตถุเช่นรูปร่างกราฟิกหรือตัวควบคุม VBA ในแผ่นงานของคุณและกำหนดมาโครให้ หากต้องการเรียกใช้แมโครเพียงคลิกที่วัตถุ
สำหรับรายละเอียดเกี่ยวกับการเรียกใช้มาโครโดยใช้วัตถุโปรดดูบท - การกำหนดมาโครให้กับวัตถุ
การเรียกใช้มาโครจากแท็บนักพัฒนา
คุณสามารถเรียกใช้แมโครจากแท็บนักพัฒนา
- คลิกแท็บนักพัฒนาบน Ribbon
- คลิกมาโคร

กล่องโต้ตอบมาโครจะปรากฏขึ้น คลิกชื่อแมโครจากนั้นคลิกเรียกใช้

เรียกใช้มาโครจาก VBA Editor
คุณสามารถเรียกใช้แมโครจากตัวแก้ไข VBA ได้ดังนี้ -
- คลิกแท็บ Run บน Ribbon
- เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์

คุณสามารถสร้างมาโครได้โดยเขียนโค้ดในตัวแก้ไข VBA ในบทนี้คุณจะได้เรียนรู้ว่าจะเขียนโค้ดสำหรับมาโครได้ที่ไหนและอย่างไร
ออบเจ็กต์และโมดูล VBA
ก่อนที่คุณจะเริ่มเขียนโค้ดสำหรับมาโครโปรดทำความเข้าใจกับออบเจ็กต์และโมดูล VBA
- เปิดสมุดงานที่เปิดใช้งานแมโครด้วยแมโครแรกของคุณ
- คลิกแท็บ DEVELOPER บน Ribbon
- คลิก Visual Basic ในกลุ่มรหัส

หน้าต่างตัวแก้ไข VBA จะเปิดขึ้น

คุณจะสังเกตสิ่งต่อไปนี้ในหน้าต่าง Projects Explorer -
สมุดงานที่เปิดใช้งานแมโครของคุณ - MyFirstMacro.xlsm ปรากฏเป็นโครงการ VBA
แผ่นงานและสมุดงานทั้งหมดจะปรากฏเป็นวัตถุ Microsoft Excel ภายใต้โครงการ
Module1 ปรากฏภายใต้โมดูล รหัสมาโครของคุณอยู่ที่นี่
คลิก Module1.
คลิกแท็บมุมมองบน Ribbon
เลือกรหัสจากรายการแบบเลื่อนลง

โค้ดของมาโครของคุณจะปรากฏขึ้น

การสร้างมาโครด้วยการเข้ารหัส
จากนั้นสร้างมาโครที่สองในสมุดงานเดียวกัน - คราวนี้เขียนโค้ด VBA
คุณสามารถทำได้ในสองขั้นตอน -
แทรกปุ่มคำสั่ง
เขียนรหัสระบุการดำเนินการที่จะเกิดขึ้นเมื่อคุณคลิกปุ่มคำสั่ง
การแทรกปุ่มคำสั่ง
สร้างแผ่นงานใหม่
คลิกในแผ่นงานใหม่
คลิกปุ่ม DEVELOPER บน Ribbon
คลิกแทรกในกลุ่มตัวควบคุม
เลือกไอคอนปุ่มจาก Form Controls.

- คลิกในแผ่นงานที่คุณต้องการวางปุ่มคำสั่ง
- กล่องโต้ตอบกำหนดมาโครจะปรากฏขึ้น

ตัวแก้ไข Visual Basic ปรากฏขึ้น

คุณจะสังเกตสิ่งต่อไปนี้ -
- โมดูลใหม่ - ใส่ Module2 ใน Project Explorer
- หน้าต่างรหัสที่มีหัวเรื่อง Module2 (Code) ปรากฏขึ้น
- ขั้นตอนย่อย Button1_Click () ถูกแทรกในโค้ด Module2
การเข้ารหัสมาโคร
การเข้ารหัสของคุณทำได้ครึ่งหนึ่งโดยตัวแก้ไข VBA เอง
ตัวอย่างเช่นพิมพ์ MsgBox “Best Wishes to You!”ในขั้นตอนย่อย Button1_Click () กล่องข้อความที่มีสตริงที่กำหนดจะปรากฏขึ้นเมื่อคลิกปุ่มคำสั่ง

แค่นั้นแหละ! รหัสมาโครของคุณพร้อมที่จะทำงานแล้ว ดังที่คุณทราบรหัส VBA ไม่จำเป็นต้องมีการคอมไพล์เนื่องจากรันด้วยล่าม
เรียกใช้ Macro จาก VBA Editor
คุณสามารถทดสอบโค้ดมาโครของคุณได้จากตัวแก้ไข VBA เอง
คลิกแท็บ Run บน Ribbon
เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์ กล่องข้อความที่มีสตริงที่คุณพิมพ์จะปรากฏในแผ่นงานของคุณ

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

คุณได้สร้างมาโครโดยการเขียนโค้ด VBA อย่างที่คุณสังเกตได้การเข้ารหัส VBA นั้นง่ายมาก
คุณได้เรียนรู้วิธีการเขียนโค้ดมาโครในโปรแกรมแก้ไข VBA ในบทที่แล้ว คุณสามารถแก้ไขโค้ดมาโครเปลี่ยนชื่อมาโครและลบมาโครได้
ถ้าคุณเชี่ยวชาญ Excel VBA การเขียนโค้ดหรือแก้ไขโค้ดสำหรับมาโครเป็นงานที่ไม่สำคัญ คุณสามารถแก้ไขโค้ดมาโครได้ตามที่คุณต้องการ หากคุณต้องการเปลี่ยนแปลงโค้ดมาโครง่ายๆเพียงไม่กี่อย่างคุณยังสามารถคัดลอกโค้ดมาโครจากที่หนึ่งไปยังอีกที่หนึ่งได้
การคัดลอกรหัสมาโคร
คุณได้สร้างสองแมโคร - MyFirstMacro และ Button1_Click ในสมุดงาน MyFirstMacro.xlsm ที่เปิดใช้งานแมโคร คุณได้สร้างมาโครตัวแรกโดยบันทึกขั้นตอนและมาโครตัวที่สองด้วยการเขียนโค้ด คุณสามารถคัดลอกโค้ดจากมาโครแรกไปยังมาโครที่สองได้
เปิดสมุดงาน MyFirstMacro.xlsm
คลิกแท็บนักพัฒนาบน Ribbon
คลิก Visual Basic โปรแกรมแก้ไข Visual Basic จะเปิดขึ้น
เปิดโค้ดสำหรับโค้ดแมโคร Module1 (MyFirstMacro) และโค้ดมาโคร Module2 (Button1_Click ())
คลิกแท็บหน้าต่างบน Ribbon
เลือกไทล์แนวนอนจากรายการแบบเลื่อนลง
คุณสามารถดูรหัสของแมโครทั้งสองในหน้าต่างที่เรียงต่อกัน

คัดลอกบรรทัด MsgBox ในโค้ด Module2
วางไว้เหนือบรรทัดนั้น
แก้ไขสตริงเป็น -
MsgBox“ สวัสดีชาวโลก - - '
คัดลอกโค้ดต่อไปนี้จาก Module1

วางลงในโค้ด Module2 ระหว่างสองบรรทัดของโค้ด MsgBox

คลิกไอคอนบันทึกเพื่อบันทึกรหัส
คลิกปุ่มในแผ่นงาน Excel กล่องข้อความปรากฏขึ้นพร้อมข้อความ - Hello World! คลิกตกลง

ข้อมูลตารางปรากฏขึ้น (ตามรหัสที่คุณคัดลอก) และกล่องข้อความปรากฏขึ้นพร้อมข้อความ - ขอแสดงความนับถือ!

คุณสามารถแก้ไขโค้ดได้ในไม่กี่ขั้นตอน นี่เป็นงานที่ง่ายที่สุดสำหรับผู้เริ่มต้น
การเปลี่ยนชื่อมาโคร
สมมติว่าคุณต้องการเรียกใช้แมโครที่แก้ไขจากแผ่นงานใด ๆ นอกเหนือจากที่มีปุ่มคำสั่ง คุณสามารถทำได้โดยไม่ต้องคลิกปุ่มโดยเปลี่ยนชื่อมาโคร
- คลิกแท็บ VIEW บน Ribbon
- คลิกมาโคร
- เลือกดูมาโครจากรายการดรอปดาวน์
กล่องโต้ตอบมาโครจะปรากฏขึ้น
- คลิกชื่อมาโคร - Button1_Click
- คลิกปุ่มแก้ไข

รหัสแมโครจะปรากฏในตัวแก้ไข VBA
เปลี่ยนชื่อที่ปรากฏในบรรทัดย่อยจาก Button1_Click เป็น RenamedMacro ปล่อยให้ Sub และวงเล็บตามที่เป็นอยู่

เปิดกล่องโต้ตอบมาโคร ชื่อมาโครจะปรากฏขึ้นเมื่อคุณเปลี่ยนชื่อ

- คลิก RenamedMacro
- คลิกปุ่ม Run มาโครทำงาน ตอนนี้ไม่จำเป็นต้องคลิกปุ่ม
การลบมาโคร
คุณสามารถลบมาโครที่คุณบันทึกหรือเข้ารหัสไว้ได้
- เปิดกล่องโต้ตอบแมโคร
- คลิกชื่อมาโคร
- คลิกปุ่มลบ

Delete ข้อความยืนยันปรากฏขึ้น

คลิก Yesหากคุณแน่ใจว่าจะลบมาโคร มิฉะนั้นให้คลิกไม่
ในบางครั้งคุณอาจต้องรวบรวมข้อมูลซ้ำ ๆ จากผู้อื่น Excel VBA ช่วยให้คุณจัดการงานนี้ได้อย่างง่ายดาย -UserForm. เช่นเดียวกับแบบฟอร์มอื่น ๆ ที่คุณกรอก UserForm ทำให้เข้าใจง่ายว่าจะให้ข้อมูลอะไรบ้าง UserForm เป็นมิตรกับผู้ใช้ในลักษณะที่การควบคุมที่ให้มานั้นอธิบายได้ด้วยตนเองพร้อมด้วยคำแนะนำเพิ่มเติมหากจำเป็น
ข้อได้เปรียบที่สำคัญของ UserForm คือคุณสามารถประหยัดเวลาที่คุณใช้จ่ายไปกับสิ่งที่ต้องกรอกและวิธีการกรอกข้อมูล
การสร้าง UserForm
ในการสร้าง UserForm ให้ดำเนินการดังนี้ -
- คลิกแท็บ DEVELOPER บน Ribbon
- คลิก Visual Basic หน้าต่าง Visual Basic สำหรับเวิร์กบุ๊กจะเปิดขึ้น
- คลิกแทรก
- เลือก UserForm จากรายการแบบเลื่อนลง

UserForm จะปรากฏที่ด้านขวาของหน้าต่าง

การทำความเข้าใจ UserForm
ขยายหน้าต่าง UserForm.xlsx - UserForm1 ให้ใหญ่ที่สุด
ตอนนี้คุณอยู่ในโหมดออกแบบ คุณสามารถแทรกตัวควบคุมใน UserForm และเขียนโค้ดสำหรับการดำเนินการตามลำดับ การควบคุมมีอยู่ใน ToolBox คุณสมบัติของ UserForm อยู่ในหน้าต่างคุณสมบัติ UserForm1 (คำอธิบายของ UserForm) มีให้ภายใต้ฟอร์มใน Projects Explorer

- เปลี่ยนคำบรรยายของ UserForm เป็น Project Report - รายวันในหน้าต่างคุณสมบัติ
- เปลี่ยนชื่อของ UserForm เป็น ProjectReport

การเปลี่ยนแปลงจะแสดงใน UserForm คุณสมบัติและตัวสำรวจโครงการ
การควบคุมในกล่องเครื่องมือ
UserForm จะมีส่วนประกอบที่แตกต่างกัน เมื่อคุณคลิกที่ส่วนประกอบใด ๆ คุณจะได้รับคำแนะนำเกี่ยวกับสิ่งที่และวิธีการให้ข้อมูลหรือคุณจะได้รับตัวเลือก (ตัวเลือก) ให้เลือก ทั้งหมดนี้มีให้โดยใช้ตัวควบคุม ActiveX ใน ToolBox ของ UserForm
Excel มีตัวควบคุมสองประเภท - ตัวควบคุมฟอร์มและตัวควบคุม ActiveX คุณต้องเข้าใจความแตกต่างระหว่างการควบคุมทั้งสองประเภทนี้
การควบคุมแบบฟอร์ม
ตัวควบคุมฟอร์มคือตัวควบคุมดั้งเดิมของ Excel ที่เข้ากันได้กับ Excel เวอร์ชันก่อนหน้าโดยเริ่มจาก Excel เวอร์ชัน 5.0 ตัวควบคุมฟอร์มได้รับการออกแบบมาเพื่อใช้กับแผ่นงานแมโคร XLM
คุณสามารถเรียกใช้แมโครโดยใช้ตัวควบคุมฟอร์ม คุณสามารถกำหนดแมโครที่มีอยู่ให้กับตัวควบคุมหรือเขียนหรือบันทึกแมโครใหม่ เมื่อคลิกตัวควบคุมแมโคร คุณได้เรียนรู้วิธีแทรกปุ่มคำสั่งจากตัวควบคุมฟอร์มในแผ่นงานเพื่อเรียกใช้แมโครแล้ว อย่างไรก็ตามไม่สามารถเพิ่มการควบคุมเหล่านี้ลงใน UserForm ได้
ตัวควบคุม ActiveX
ตัวควบคุม ActiveX สามารถใช้กับ VBA UserForms ตัวควบคุม ActiveX มีคุณสมบัติมากมายที่คุณสามารถใช้เพื่อปรับแต่งลักษณะพฤติกรรมฟอนต์และลักษณะอื่น ๆ
คุณมีตัวควบคุม ActiveX ต่อไปนี้ใน UserForm ToolBox -
- Pointer
- Label
- TextBox
- ComboBox
- ListBox
- CheckBox
- OptionButton
- Frame
- ToggleButton
- CommandButton
- TabStrip
- MultiPage
- ScrollBar
- SpinButton
- Image
นอกเหนือจากการควบคุมเหล่านี้ Visual Basic ยังมีฟังก์ชัน MsgBox ที่สามารถใช้เพื่อแสดงข้อความและ / หรือแจ้งให้ผู้ใช้ดำเนินการ
ในสองสามส่วนถัดไปคุณจะเข้าใจการควบคุมและ MsgBox เหล่านี้ จากนั้นคุณจะสามารถเลือกได้ว่าจะใช้การควบคุมใดในการออกแบบ UserForm ของคุณ
ฉลาก
คุณสามารถใช้ป้ายกำกับเพื่อจุดประสงค์ในการระบุตัวตนโดยการแสดงข้อความอธิบายเช่นชื่อเรื่องคำอธิบายภาพและ / หรือคำแนะนำสั้น ๆ
Example

กล่องข้อความ
คุณสามารถใช้กล่องข้อความที่เป็นกล่องสี่เหลี่ยมเพื่อพิมพ์ดูหรือแก้ไขข้อความ คุณยังสามารถใช้กล่องข้อความเป็นช่องข้อความแบบคงที่ซึ่งนำเสนอข้อมูลแบบอ่านอย่างเดียว
Example

กล่องรายการ
คุณสามารถใช้กล่องรายการเพื่อแสดงรายการข้อความตั้งแต่หนึ่งรายการขึ้นไปซึ่งผู้ใช้สามารถเลือกได้ ใช้กล่องรายการเพื่อแสดงตัวเลือกจำนวนมากที่แตกต่างกันไปตามจำนวนหรือเนื้อหา
- แทรก ListBox ใน UserForm
- คลิกที่ ListBox
- พิมพ์ ProjectCodes สำหรับชื่อในหน้าต่าง Properties ของ ListBox
กล่องรายการมีสามประเภท -
Single-selection List box- กล่องรายการแบบเลือกเพียงรายการเดียวเปิดใช้งานทางเลือกเดียวเท่านั้น ในกรณีนี้กล่องรายการจะมีลักษณะเป็นกลุ่มปุ่มตัวเลือกยกเว้นว่ากล่องรายการสามารถจัดการรายการจำนวนมากได้อย่างมีประสิทธิภาพมากขึ้น
Multiple selection List Box - กล่องรายการแบบเลือกได้หลายรายการเปิดใช้งานตัวเลือกเดียวหรือตัวเลือกที่อยู่ติดกัน (ติดกัน)
Extended-selection List Box - กล่องรายการการเลือกเพิ่มเติมช่วยให้สามารถเลือกได้ทางเลือกหนึ่งทางเลือกที่ต่อเนื่องกันและตัวเลือกที่ไม่ติดกัน (หรือไม่ปะติดปะต่อกัน)
คุณสามารถเลือกกล่องรายการประเภทใดประเภทหนึ่งเหล่านี้ได้จากหน้าต่างคุณสมบัติ

- คลิกขวาที่ UserForm
- เลือกดูรหัสจากรายการแบบเลื่อนลง หน้าต่างรหัสของ UserForm จะเปิดขึ้น
- คลิกเริ่มต้นในกล่องด้านขวาบนของหน้าต่างรหัส
- พิมพ์สิ่งต่อไปนี้ภายใต้ Private Sub UserForm_Initialize ()
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")

- คลิกแท็บ Run บน Ribbon
- เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์

ถัดไปคุณสามารถเขียนโค้ดสำหรับการดำเนินการในการเลือกรายการในรายการ มิฉะนั้นคุณสามารถแสดงข้อความที่เลือกซึ่งเป็นกรณีสำหรับการกรอกรหัสโครงการในรายงาน
ComboBox
คุณสามารถใช้ได้ ComboBoxที่รวมกล่องข้อความเข้ากับกล่องรายการเพื่อสร้างกล่องรายการแบบหล่นลง กล่องคำสั่งผสมมีขนาดกะทัดรัดกว่ากล่องรายการ แต่ต้องการให้ผู้ใช้คลิกลูกศรลงเพื่อแสดงรายการ ใช้กล่องคำสั่งผสมเพื่อเลือกเพียงรายการเดียวจากรายการ
- ใส่ ComboBox ใน UserForm
- คลิก ComboBox
- พิมพ์ ProjectCodes2 สำหรับชื่อในหน้าต่างคุณสมบัติของ ComboBox

- คลิกขวาที่ UserForm
- เลือกดูรหัสจากรายการแบบเลื่อนลง
- หน้าต่างรหัสของ UserForm จะเปิดขึ้น
พิมพ์ดังต่อไปนี้ที่แสดงด้านล่าง
ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")

- คลิกแท็บ Run บน Ribbon
- เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์

คลิกลูกศรลงเพื่อแสดงรายการ

คลิกที่รายการที่ต้องการพูด Project2016-5 ตัวเลือกที่เลือกจะแสดงในกล่องคำสั่งผสม

CheckBox
คุณสามารถใช้กล่องกาเครื่องหมายเพื่อเลือกตัวเลือกอย่างน้อยหนึ่งตัวเลือกที่แสดงโดยคลิกในกล่อง ตัวเลือกจะมีป้ายกำกับและคุณสามารถเห็นภาพได้อย่างชัดเจนว่าตัวเลือกใดถูกเลือก
กล่องกาเครื่องหมายสามารถมีได้สองสถานะ -
- เลือก (เปิดอยู่) แสดงด้วยเครื่องหมายถูกในช่อง
- ล้าง (ปิด) แสดงด้วยกล่องใส
คุณสามารถใช้กล่องกาเครื่องหมายสำหรับการเลือกตัวเลือกในกล่องคำสั่งผสมเพื่อประหยัดพื้นที่ ในกรณีนี้กล่องกาเครื่องหมายสามารถมีสถานะที่สามได้เช่นกัน -
ผสมหมายถึงการรวมกันของสถานะเปิดและปิดแสดงด้วยจุดสีดำในกล่อง สิ่งนี้จะปรากฏขึ้นเพื่อระบุการเลือกหลายรายการในกล่องคำสั่งผสมพร้อมกล่องกาเครื่องหมาย
แทรกช่องทำเครื่องหมายใน UserForm ดังที่แสดงด้านล่าง

- คลิกแท็บ Run บน Ribbon
- เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์
- คลิกในช่องสำหรับตัวเลือกที่คุณเลือก

ปุ่ม OptionButton
คุณสามารถใช้ปุ่มตัวเลือกหรือที่เรียกว่าปุ่มตัวเลือกเพื่อสร้างตัวเลือกเดียวภายในชุดตัวเลือกที่ใช้ร่วมกันได้ในจำนวน จำกัด โดยปกติปุ่มตัวเลือกจะอยู่ในกล่องกลุ่มหรือกรอบ
ปุ่มตัวเลือกจะแสดงเป็นวงกลมเล็ก ๆ ปุ่มตัวเลือกสามารถมีหนึ่งในสองสถานะต่อไปนี้ -
- เลือก (เปิดอยู่) แสดงด้วยจุดในวงกลม
- ล้าง (ปิด) แสดงด้วยช่องว่าง
กรอบ
คุณสามารถใช้ตัวควบคุมเฟรมหรือที่เรียกว่ากล่องกลุ่มเพื่อจัดกลุ่มตัวควบคุมที่เกี่ยวข้องเป็นหน่วยภาพเดียว โดยปกติปุ่มตัวเลือกกล่องกาเครื่องหมายหรือเนื้อหาที่เกี่ยวข้องอย่างใกล้ชิดจะถูกจัดกลุ่มไว้ในตัวควบคุมเฟรม
ตัวควบคุมเฟรมแสดงโดยวัตถุทรงสี่เหลี่ยมที่มีป้ายกำกับที่เป็นทางเลือก
แทรกกรอบที่มีคำบรรยาย "ทางเลือก"
แทรกปุ่มตัวเลือกสองปุ่มพร้อมคำบรรยาย“ ใช่” และ“ ไม่ใช่” ในตัวควบคุมเฟรม ตัวเลือกใช่และไม่ใช่เป็นเอกสิทธิ์ร่วมกัน

- คลิกแท็บ Run บน Ribbon
- เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์
- คลิกที่ตัวเลือกที่คุณเลือก

ToggleButton
คุณสามารถใช้ปุ่มสลับเพื่อระบุสถานะเช่นใช่หรือไม่ใช่หรือโหมดเช่นเปิดหรือปิด ปุ่มจะสลับระหว่างสถานะเปิดใช้งานและสถานะปิดใช้งานเมื่อมีการคลิก
แทรกปุ่มสลับบน UserForm ดังที่แสดงด้านล่าง -

คลิกแท็บ Run บน Ribbon
เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์ ปุ่มสลับจะอยู่ในสถานะเปิดใช้งานตามค่าเริ่มต้น

คลิกปุ่มสลับ ปุ่มสลับจะถูกปิดใช้งาน

หากคุณคลิกปุ่มสลับอีกครั้งปุ่มจะเปิดใช้งาน
CommandButton
คุณสามารถใช้ปุ่มคำสั่งเพื่อเรียกใช้แมโครที่ดำเนินการบางอย่างเมื่อผู้ใช้คลิกที่มัน คุณได้เรียนรู้วิธีใช้ปุ่มคำสั่งบนแผ่นงานเพื่อเรียกใช้แมโครแล้ว
ปุ่มคำสั่งเรียกอีกอย่างว่าปุ่มกด แทรกปุ่มคำสั่งบน UserForm ดังที่แสดงด้านล่าง -

- คลิกขวาที่ปุ่มคำสั่ง
- พิมพ์รหัสต่อไปนี้ใน Commandbutton1_click ย่อย ()
ProjectCodes2.DropDown

- คลิกแท็บ Run บน Ribbon
- เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์

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

TabStrip
คุณสามารถแทรกแถบแท็บที่คล้ายกับแท็บ Excel บน UserForm
แถบเลื่อน
คุณสามารถใช้แถบเลื่อนเพื่อเลื่อนดูช่วงของค่าต่างๆโดยคลิกที่ลูกศรเลื่อนหรือโดยการลากกล่องเลื่อน
แทรกแถบเลื่อนบน UserForm โดยวาดตรงตำแหน่งที่ต้องการและปรับความยาวของแถบเลื่อน

- คลิกขวาที่แถบเลื่อน
- เลือกดูรหัสจากรายการแบบเลื่อนลง หน้าต่างรหัสจะเปิดขึ้น
- เพิ่มบรรทัดต่อไปนี้ใต้ ScrollBar1_Scroll ย่อย ()
TextBox2.Text = "Scrolling Values"

- คลิกแท็บ Run บน Ribbon
- เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์

ลากกล่องเลื่อน ข้อความ - ค่าการเลื่อนจะแสดงในกล่องข้อความตามที่คุณระบุเป็นการดำเนินการสำหรับการเลื่อนแถบเลื่อน

MsgBox ()
คุณสามารถใช้ฟังก์ชัน MsgBox () เพื่อแสดงข้อความเมื่อคุณคลิกที่บางสิ่ง อาจเป็นแนวทางหรือข้อมูลบางอย่างหรือคำเตือนหรือการแจ้งเตือนข้อผิดพลาด
ตัวอย่างเช่นคุณสามารถแสดงข้อความที่มีการเลื่อนค่าเมื่อคุณเริ่มเลื่อนกล่องเลื่อน

ไอคอนกล่องข้อความจะปรากฏขึ้น
คุณสามารถใช้ไอคอนกล่องข้อความที่แสดงภาพข้อความเฉพาะ คุณมีไอคอนกล่องข้อความหลายไอคอนเพื่อให้เหมาะกับวัตถุประสงค์ของคุณ -
- พิมพ์รหัสต่อไปนี้ภายใต้ ScrollBar1_scroll
MsgBox "Select Ok or Cancel", vbOKCancel, "OK - Cancel Message"
MsgBox "It's an Error!", vbCritical, "Run time result"
MsgBox "Why this value", vbQuestion, "Run time result"
MsgBox "Value Been for a Long Time", vbInformation, "Run time result"
MsgBox "Oh Is it so", vbExclamation, "Run time result"
- คลิกแท็บ Run บน Ribbon
- เลือกเรียกใช้ Sub / UserForm จากรายการดรอปดาวน์
- ลากกล่องเลื่อน
คุณจะได้รับกล่องข้อความต่อไปนี้ตามลำดับ

การออกแบบ UserForm
ตอนนี้คุณมีความเข้าใจเกี่ยวกับการควบคุมต่างๆที่คุณสามารถใช้กับ UserForm ได้แล้ว เลือกตัวควบคุมจัดกลุ่มหากจำเป็นและจัดเรียงบน UserForm ตามลำดับที่มีความหมาย เขียนการดำเนินการที่จำเป็นเป็นรหัสที่สอดคล้องกับการควบคุมที่เกี่ยวข้อง
อ้างถึงบทช่วยสอน VBA ในไลบรารีบทช่วยสอนนี้สำหรับตัวอย่างของ UserForm
คุณได้เรียนรู้ว่ามาโครถูกจัดเก็บเป็นรหัส VBA ใน Excel คุณยังได้เรียนรู้ว่าคุณสามารถเขียนโค้ดเพื่อสร้างมาโครในโปรแกรมแก้ไข VBA ได้โดยตรง อย่างไรก็ตามเช่นเดียวกับกรณีที่มีรหัสใด ๆ แม้แต่รหัสแมโครก็สามารถมีข้อบกพร่องได้และแมโครอาจไม่ทำงานตามที่คุณคาดไว้
ต้องมีการตรวจสอบโค้ดเพื่อค้นหาข้อบกพร่องและแก้ไข คำที่ใช้สำหรับกิจกรรมนี้ในการพัฒนาซอฟต์แวร์คือการดีบัก
การแก้จุดบกพร่อง VBA
ตัวแก้ไข VBA ช่วยให้คุณหยุดการทำงานของโค้ดชั่วคราวและดำเนินการแก้ไขข้อบกพร่องที่จำเป็น ต่อไปนี้เป็นงานการดีบักบางส่วนที่คุณสามารถทำได้
- ก้าวผ่านรหัส
- การใช้เบรกพอยต์
- การสำรองข้อมูลหรือก้าวไปข้างหน้าในรหัส
- ไม่ก้าวผ่านแต่ละบรรทัดของรหัส
- การค้นหาสิ่งใด ๆ ในขณะที่ก้าวผ่านรหัส
- การหยุดการดำเนินการ
นี่เป็นเพียงงานบางส่วนที่คุณอาจดำเนินการในสภาพแวดล้อมการดีบักของ VBA
ก้าวผ่านหลักจรรยาบรรณ
สิ่งแรกที่คุณต้องทำสำหรับการดีบักคือการก้าวผ่านรหัสในขณะที่เรียกใช้งาน หากคุณมีความคิดว่าส่วนใดของโค้ดที่อาจทำให้เกิดข้อบกพร่องคุณสามารถข้ามไปที่บรรทัดของโค้ดนั้นได้ มิฉะนั้นคุณสามารถรันโค้ดทีละบรรทัดสำรองข้อมูลหรือดำเนินการต่อในโค้ด
คุณสามารถก้าวเข้าสู่โค้ดได้จากกล่องโต้ตอบแมโครในสมุดงานของคุณหรือจากตัวแก้ไข VBA เอง
Stepping into the code from the workbook
ในการเข้าสู่โค้ดจากสมุดงานให้ทำดังต่อไปนี้ -
- คลิกแท็บ VIEW บน Ribbon
- คลิกมาโคร
- เลือกดูมาโครจากรายการดรอปดาวน์
กล่องโต้ตอบมาโครจะปรากฏขึ้น
- คลิกชื่อมาโคร
- คลิกปุ่มก้าวเข้าสู่

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

Stepping into the code from the VBA editor
ในการเข้าสู่โค้ดจากตัวแก้ไข VBA ให้ทำดังต่อไปนี้ -
- คลิกแท็บ DEVELOPER บน Ribbon
- คลิก Visual Basic ตัวแก้ไข VBA จะเปิดขึ้น
- คลิกโมดูลที่มีรหัสแมโคร
รหัสมาโครจะปรากฏในหน้าต่างรหัส

คลิกแท็บ Debug บน Ribbon
เลือก Step into จากรายการแบบเลื่อนลง

บรรทัดแรกในโค้ดมาโครจะถูกเน้น รหัสอยู่ในโหมดการดีบักและตัวเลือกในรายการแบบเลื่อนลงการแก้ไขข้อบกพร่องจะทำงาน

การสำรองข้อมูลหรือก้าวไปข้างหน้าในรหัส
คุณสามารถเดินหน้าหรือถอยหลังในโค้ดได้โดยเลือกก้าวข้ามหรือก้าวออก
ไม่ก้าวผ่านแต่ละบรรทัดของรหัส
คุณสามารถหลีกเลี่ยงการข้ามโค้ดแต่ละบรรทัดได้หากคุณระบุส่วนที่เป็นไปได้ของโค้ดที่ต้องพูดถึงโดยเลือก Run to Cursor
การใช้เบรกพอยต์
หรือคุณสามารถตั้งค่าเบรกพอยต์ที่บรรทัดโค้ดเฉพาะและรันโค้ดโดยสังเกตผลลัพธ์ที่เบรกพอยต์แต่ละอัน คุณสามารถสลับเบรกพอยต์และล้างเบรกพอยต์ทั้งหมดได้หากจำเป็น
การใช้นาฬิกา
คุณสามารถเพิ่มนาฬิกาขณะดีบักเพื่อประเมินนิพจน์และหยุดการดำเนินการเมื่อตัวแปรบรรลุค่าที่ระบุ ซึ่งหมายความว่าคุณกำหนดค่านิพจน์ของนาฬิกาซึ่งจะถูกตรวจสอบจนกว่าจะเป็นจริงจากนั้นมาโครจะหยุดและปล่อยให้คุณอยู่ในโหมดหยุดพัก VBA มีนาฬิกาหลายประเภทให้คุณเลือกเพื่อให้บรรลุสิ่งที่คุณกำลังมองหา
การหยุดการดำเนินการ
ในระหว่างการดีบักเมื่อใดก็ตามหากคุณพบเบาะแสว่าเกิดอะไรขึ้นคุณสามารถหยุดการดำเนินการเพื่อถอดรหัสเพิ่มเติมได้
หากคุณเป็นนักพัฒนาที่มีประสบการณ์คำศัพท์เกี่ยวกับการดีบักเป็นที่คุ้นเคยสำหรับคุณและตัวเลือกการดีบักตัวแก้ไข VBA ทำให้ชีวิตของคุณง่ายขึ้น ถึงอย่างนั้นก็จะไม่ต้องใช้เวลามากในการฝึกฝนทักษะนี้หากคุณเรียนรู้ VBA และเข้าใจโค้ดแล้ว
คุณสามารถบันทึกมาโครและบันทึกด้วยชื่อ Auto_Open เพื่อเรียกใช้เมื่อใดก็ตามที่คุณเปิดสมุดงานที่มีแมโครนี้
คุณยังสามารถเขียนโค้ด VBA เพื่อจุดประสงค์เดียวกันกับเหตุการณ์เปิดของสมุดงาน เหตุการณ์เปิดจะเรียกใช้รหัสในขั้นตอนย่อย Workbook_Open () ทุกครั้งที่คุณเปิดสมุดงาน
การบันทึก Auto_Open Macro
คุณสามารถบันทึกมาโคร Auto_Run ได้ดังนี้ -
- คลิกแท็บ VIEW บน Ribbon
- คลิกมาโคร
- คลิกบันทึกมาโคร กล่องโต้ตอบ Record Macro จะปรากฏขึ้น
- พิมพ์ Auto_Run สำหรับชื่อมาโคร
- พิมพ์คำอธิบายแล้วคลิกตกลง

- เริ่มบันทึกมาโคร
- หยุดการบันทึก
- บันทึกสมุดงานเป็นสมุดงานที่เปิดใช้งานแมโคร
- ปิดสมุดงาน
- เปิดสมุดงาน มาโคร Auto_Run จะทำงานโดยอัตโนมัติ
ถ้าคุณต้องการให้ Excel เริ่มทำงานโดยไม่เรียกใช้แมโคร Auto_Open ให้กดแป้น SHIFT ค้างไว้เมื่อคุณเริ่ม Excel
ข้อ จำกัด ของ Auto_Open Macro
ต่อไปนี้เป็นข้อ จำกัด ของมาโคร Auto_Open -
ถ้าเวิร์กบุ๊กที่คุณบันทึกแมโคร Auto_Open มีโค้ดสำหรับเหตุการณ์เปิดเวิร์กบุ๊กรหัสสำหรับเหตุการณ์เปิดจะแทนที่การดำเนินการในแมโคร Auto_Open
แมโคร Auto_Open จะถูกละเว้นเมื่อเปิดสมุดงานโดยการเรียกใช้รหัสที่ใช้วิธีการเปิด
แมโคร Auto_Open จะทำงานก่อนที่จะเปิดสมุดงานอื่น ๆ ดังนั้นถ้าคุณบันทึกการดำเนินการที่คุณต้องการให้ Excel ดำเนินการบนสมุดงาน Book1 เริ่มต้นหรือบนสมุดงานที่โหลดจากโฟลเดอร์ XLStart แมโคร Auto_Open จะล้มเหลวเมื่อคุณเริ่ม Excel ใหม่เนื่องจากแมโครทำงานก่อนที่จะเปิดสมุดงานเริ่มต้นและเริ่มต้น .
หากคุณพบข้อ จำกัด เหล่านี้แทนที่จะบันทึกมาโคร Auto_Open คุณต้องเขียนโค้ดสำหรับเหตุการณ์เปิดตามที่อธิบายไว้ในส่วนถัดไป
รหัส VBA สำหรับเหตุการณ์เปิดของสมุดงาน
คุณสามารถเขียนโค้ดที่จะถูกเรียกใช้งานเมื่อคุณเปิดสมุดงาน VBA จัดเตรียมเหตุการณ์ที่เรียกว่าเปิดซึ่งรวมเอาขั้นตอน VBA สำหรับการดำเนินการที่จะทำในการเปิดสมุดงาน
เปิดสมุดงานที่คุณเก็บมาโครที่คุณเขียนไว้สำหรับการอ้างอิงแบบสัมบูรณ์ - Report_ProjectXYZ เมื่อเรียกใช้แมโครนี้แผ่นงานใหม่จะถูกเพิ่มลงในสมุดงานและโครงสร้างรายงานโครงการจะปรากฏบนแผ่นงานใหม่
คุณสามารถเขียนโค้ดแมโครที่จะดำเนินการเหล่านี้เมื่อคุณเปิดเวิร์กบุ๊ก นั่นหมายความว่าเมื่อคุณเปิดสมุดงานรายงานโครงการแผ่นงานใหม่ที่มีโครงสร้างรายงานจะพร้อมให้คุณป้อนรายละเอียด
ทำตามขั้นตอนที่กำหนดด้านล่างในโปรแกรมแก้ไข VBA−
ดับเบิลคลิกที่ ThisWorkbook ใน Projects Explorer
ในหน้าต่างรหัสเลือกสมุดงานในรายการแบบเลื่อนลงด้านซ้ายและเปิดในรายการแบบเลื่อนลงด้านขวา Sub Workbook_Open () ปรากฏขึ้น

คลิกโมดูลใน Projects Explorer
ดับเบิลคลิกที่ชื่อโมดูลที่มีรหัสแมโคร
คัดลอกรหัสแมโครจากโมดูลและวางใน Sub WorkBook_Open ()

บันทึกเวิร์กบุ๊กที่เปิดใช้งานแมโคร เปิดอีกครั้ง แมโครทำงานและแทรกแผ่นงานใหม่ที่มีโครงสร้างรายงาน