วิธีสร้าง Add-in ของคุณเองสำหรับ Microsoft Excel

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

ตัวเลือกที่ง่ายที่สุดคือการบันทึกโค้ดแมโครลงในไฟล์การทำงานโดยตรง โดยไปที่โปรแกรมแก้ไข Visual Basic โดยใช้แป้นพิมพ์ลัด อื่น ๆ+F11 และเพิ่มโมดูลเปล่าใหม่ผ่านเมนู แทรก – โมดูล:

อย่างไรก็ตาม มีข้อเสียหลายประการสำหรับวิธีนี้:

  • หากมีไฟล์งานจำนวนมากและจำเป็นต้องใช้มาโครในทุกๆ ที่ เช่น มาโครสำหรับแปลงสูตรเป็นค่า คุณจะต้องคัดลอกโค้ด ในหนังสือทุกเล่ม.
  • ต้องไม่ลืม บันทึกไฟล์ในรูปแบบที่เปิดใช้งานมาโคร (xlsm) หรือในรูปแบบหนังสือไบนารี (xlsb)
  • เมื่อเปิดไฟล์ดังกล่าว การป้องกันมาโคร แต่ละครั้งจะออกคำเตือนที่จำเป็นต้องได้รับการยอมรับ (ดีหรือปิดการใช้งานการป้องกันอย่างสมบูรณ์ซึ่งอาจไม่พึงปรารถนาเสมอไป)

ทางออกที่หรูหรากว่าคือการสร้าง Add-in ของคุณเอง (Excel Add-in) - ไฟล์แยกในรูปแบบพิเศษ (xlam) ที่มีมาโคร "โปรด" ทั้งหมดของคุณ ข้อดีของวิธีนี้:

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

มาดูขั้นตอนทั้งหมดในการสร้าง Microsoft Excel add-in ของคุณเองทีละขั้นตอน

ขั้นตอนที่ 1. สร้างไฟล์เสริม

เปิด Microsoft Excel ด้วยเวิร์กบุ๊กเปล่าและบันทึกไว้ในชื่อที่เหมาะสม (เช่น MyExcelAddin) ในรูปแบบ add-in ด้วยคำสั่ง ไฟล์ – บันทึกเป็น หรือกุญแจ F12ระบุประเภทไฟล์ โปรแกรมเสริม Excel:

โปรดทราบว่าตามค่าเริ่มต้น Excel จะเก็บ Add-in ไว้ในโฟลเดอร์ C:UsersYour_nameAppDataRoamingMicrosoftAddIns แต่โดยหลักการแล้ว คุณสามารถระบุโฟลเดอร์อื่นๆ ที่สะดวกสำหรับคุณได้

ขั้นตอนที่ 2 เราเชื่อมต่อ Add-in . ที่สร้างขึ้น

ตอนนี้ Add-in ที่เราสร้างขึ้นในขั้นตอนสุดท้าย MyExcelAddin ต้องเชื่อมต่อกับ Excel โดยไปที่เมนู ไฟล์ – ตัวเลือก – ส่วนเสริม (ไฟล์ — ตัวเลือก — ส่วนเสริม), คลิกที่ปุ่ม เกี่ยวกับเรา (ไป) ที่ด้านล่างของหน้าต่าง ในหน้าต่างที่เปิดขึ้น ให้คลิกปุ่ม รีวิว (เรียกดู) และระบุตำแหน่งของไฟล์เสริมของเรา

หากคุณทำทุกอย่างถูกต้องแล้ว .ของเรา MyExcelAddin ควรปรากฏในรายการส่วนเสริมที่มี:

ขั้นตอนที่ 3 เพิ่มมาโครให้กับ add-in

Add-in ของเราเชื่อมต่อกับ Excel และทำงานได้สำเร็จ แต่ยังไม่มีมาโครเดียวในนั้น มาเติมกันเถอะ ในการดำเนินการนี้ ให้เปิดตัวแก้ไข Visual Basic ด้วยแป้นพิมพ์ลัด อื่น ๆ+F11 หรือโดยปุ่ม ของ Visual Basic แถบ ผู้พัฒนา (ผู้พัฒนา). ถ้าแท็บ ผู้พัฒนา มองไม่เห็นก็แสดงผลได้ผ่าน ไฟล์ – ตัวเลือก – การตั้งค่าริบบอน (ไฟล์ — ตัวเลือก — กำหนด Ribbon เอง).

ควรมีหน้าต่างที่มุมซ้ายบนของตัวแก้ไข โครงการ (ถ้ามองไม่เห็นให้เปิดผ่านเมนู ดู — Project Explorer):

หน้าต่างนี้แสดงเวิร์กบุ๊กที่เปิดอยู่ทั้งหมดและเรียกใช้ Add-in ของ Microsoft Excel รวมถึงของเราด้วย โครงการวีบีเอ (MyExcelAddin.xlam) เลือกด้วยเมาส์และเพิ่มโมดูลใหม่ผ่านเมนู แทรก – โมดูล. ในโมดูลนี้ เราจะจัดเก็บโค้ด VBA ของมาโคร Add-in ของเรา

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

หลังจากป้อนรหัสแล้ว อย่าลืมคลิกที่ปุ่มบันทึก (ดิสเก็ตต์) ที่มุมซ้ายบน

มาโครของเรา สูตรถึงค่าอย่างที่คุณสามารถจินตนาการได้ แปลงสูตรเป็นค่าในช่วงที่เลือกไว้ล่วงหน้า บางครั้งมาโครเหล่านี้เรียกอีกอย่างว่า ขั้นตอน. เมื่อต้องการเรียกใช้ คุณต้องเลือกเซลล์ที่มีสูตรและเปิดกล่องโต้ตอบพิเศษ แมโคร จากแท็บ ผู้พัฒนา (ผู้พัฒนา — มาโคร) หรือแป้นพิมพ์ลัด อื่น ๆ+F8. โดยปกติ หน้าต่างนี้จะแสดงมาโครที่พร้อมใช้งานจากเวิร์กบุ๊กที่เปิดอยู่ทั้งหมด แต่จะไม่เห็นมาโคร Add-in ที่นี่ อย่างไรก็ตาม เราสามารถป้อนชื่อขั้นตอนของเราลงในฟิลด์ได้ ชื่อมาโคร (ชื่อมาโคร)จากนั้นคลิกปุ่ม วิ่ง (วิ่ง) – และมาโครของเราจะทำงาน:

    

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

เมื่อกำหนดคีย์ โปรดทราบว่าคีย์จะคำนึงถึงขนาดตัวพิมพ์และเลย์เอาต์ของแป้นพิมพ์ ดังนั้นหากคุณกำหนดชุดค่าผสมเช่น Ctrl+Й, then, in fact, in the future you will have to make sure that you have the layout turned on and press additionally เปลี่ยนเพื่อรับตัวพิมพ์ใหญ่

เพื่อความสะดวก เรายังสามารถเพิ่มปุ่มสำหรับมาโครของเราลงในแถบเครื่องมือด่วนที่มุมซ้ายบนของหน้าต่าง ในการดำเนินการนี้ ให้เลือก ไฟล์ – ตัวเลือก – แถบเครื่องมือด่วน (ไฟล์ — ตัวเลือก — ปรับแต่งแถบเครื่องมือด่วน)จากนั้นในรายการดรอปดาวน์ที่ด้านบนของหน้าต่างตัวเลือก แมโคร. หลังจากนั้นมาโครของเรา สูตรถึงค่า สามารถวางบนแผงด้วยปุ่ม เพิ่ม (เพิ่ม) และเลือกไอคอนสำหรับมันด้วยปุ่ม เปลี่ยนแปลง (แก้ไข):

ขั้นตอนที่ 4. เพิ่มฟังก์ชันให้กับ add-in

แต่ มาโครขั้นตอนนอกจากนี้ยังมี มาโครฟังก์ชัน หรือที่เรียกกันว่า UDF (User Defined Function = ฟังก์ชันที่ผู้ใช้กำหนด) มาสร้างโมดูลแยกกันในโปรแกรมเสริมของเรา (คำสั่งเมนู แทรก – โมดูล) และวางโค้ดของฟังก์ชันต่อไปนี้ที่นั่น:

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

โปรดทราบว่าไวยากรณ์ของฟังก์ชันแตกต่างจากโพรซีเดอร์:

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

โปรดทราบด้วยว่าไม่จำเป็นต้องใช้ฟังก์ชันนี้ และไม่สามารถทำงานได้เหมือนกับขั้นตอนมาโครก่อนหน้าผ่านกล่องโต้ตอบ แมโคร และปุ่ม วิ่ง. ฟังก์ชันมาโครดังกล่าวควรใช้เป็นฟังก์ชันเวิร์กชีตมาตรฐาน (SUM, IF, VLOOKUP…) เช่น เพียงป้อนในเซลล์ใดๆ โดยระบุมูลค่าของจำนวนเงินที่มี VAT เป็นอาร์กิวเมนต์:

… หรือป้อนผ่านกล่องโต้ตอบมาตรฐานเพื่อแทรกฟังก์ชัน (button fx ในแถบสูตร) ​​เลือกหมวดหมู่ กำหนดโดยผู้ใช้ (กำหนดโดยผู้ใช้):

ช่วงเวลาที่ไม่พึงประสงค์เพียงอย่างเดียวที่นี่คือไม่มีคำอธิบายปกติของฟังก์ชันที่ด้านล่างของหน้าต่าง ในการเพิ่มคุณจะต้องทำสิ่งต่อไปนี้:

  1. เปิด Visual Basic Editor ด้วยแป้นพิมพ์ลัด อื่น ๆ+F11
  2. เลือก Add-in ในแผงโครงการแล้วกดปุ่ม F2เพื่อเปิดหน้าต่าง Object Browser
  3. เลือกโครงการเสริมของคุณจากรายการดรอปดาวน์ที่ด้านบนของหน้าต่าง
  4. คลิกขวาที่ฟังก์ชันที่ปรากฏขึ้นและเลือกคำสั่ง อสังหาริมทรัพย์ .
  5. ป้อนคำอธิบายของฟังก์ชันในหน้าต่าง รายละเอียด
  6. บันทึกไฟล์เสริม และรีสตาร์ท excel.

หลังจากรีสตาร์ท ฟังก์ชันควรแสดงคำอธิบายที่เราป้อน:

ขั้นตอนที่ 5. สร้างแท็บ Add-on ในอินเทอร์เฟซ

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

ข้อมูลเกี่ยวกับแท็บที่แสดงโดยค่าเริ่มต้นจะอยู่ภายในหนังสือและต้องจัดรูปแบบในโค้ด XML พิเศษ วิธีที่ง่ายที่สุดในการเขียนและแก้ไขโค้ดดังกล่าวคือการใช้โปรแกรมพิเศษ - ตัวแก้ไข XML หนึ่งในวิธีที่สะดวกที่สุด (และฟรี) คือโปรแกรมของ Maxim Novikov ตัวแก้ไข XML ของ Ribbon.

อัลกอริทึมสำหรับการทำงานกับมันมีดังนี้:

  1. ปิดหน้าต่าง Excel ทั้งหมดเพื่อไม่ให้ไฟล์ขัดแย้งกันเมื่อเราแก้ไขโค้ด XML ของ Add-in
  2. เปิดโปรแกรม Ribbon XML Editor และเปิดไฟล์ MyExcelAddin.xlam ในนั้น
  3. ด้วยปุ่ม แท็บ ที่มุมบนซ้าย ให้เพิ่มข้อมูลโค้ดสำหรับแท็บใหม่:
  4. คุณต้องใส่เครื่องหมายคำพูดเปล่า id แท็บและกลุ่มของเรา (ตัวระบุที่ไม่ซ้ำ) และใน ฉลาก – ชื่อของแท็บของเราและกลุ่มของปุ่มบนนั้น:
  5. ด้วยปุ่ม ปุ่ม ที่แผงด้านซ้าย ให้เพิ่มโค้ดเปล่าสำหรับปุ่มและเพิ่มแท็กเข้าไป:

    - ฉลาก เป็นข้อความบนปุ่ม

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

    - บนการดำเนินการ – นี่คือชื่อของขั้นตอนการโทรกลับ – มาโครสั้นพิเศษที่จะเรียกใช้มาโครหลักของเรา สูตรถึงค่า. คุณสามารถเรียกขั้นตอนนี้อะไรก็ได้ที่คุณต้องการ เราจะเพิ่มในภายหลัง

  6. คุณสามารถตรวจสอบความถูกต้องของทุกอย่างที่ทำโดยใช้ปุ่มที่มีเครื่องหมายถูกสีเขียวที่ด้านบนของแถบเครื่องมือ ในที่เดียวกัน ให้คลิกที่ปุ่มที่มีฟลอปปีดิสก์เพื่อบันทึกการเปลี่ยนแปลงทั้งหมด
  7. ปิดตัวแก้ไข Ribbon XML
  8. เปิด Excel ไปที่ตัวแก้ไข Visual Basic และเพิ่มขั้นตอนการโทรกลับในมาโครของเรา ฆ่าสูตรเพื่อเรียกใช้มาโครหลักของเราเพื่อแทนที่สูตรด้วยค่า
  9. เราบันทึกการเปลี่ยนแปลงและกลับไปที่ Excel ตรวจสอบผลลัพธ์:

นั่นคือทั้งหมด – ส่วนเสริมพร้อมใช้งานแล้ว เติมด้วยขั้นตอนและฟังก์ชันของคุณเอง เพิ่มปุ่มที่สวยงาม และการใช้มาโครในงานของคุณจะง่ายขึ้นมาก

  • มาโครคืออะไร ใช้งานอย่างไรในงานของคุณ รับโค้ดแมโครใน Visual Basic ได้ที่ไหน
  • วิธีทำ splash screen เมื่อเปิดสมุดงานใน Excel
  • หนังสือมาโครส่วนบุคคลคืออะไรและใช้งานอย่างไร

เขียนความเห็น