วิธีสร้างแมโคร VBA หรือสคริปต์ใน Excel


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

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

<รูป class = "lazy aligncenter">

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

ในบทความนี้เราจะอธิบายต่อไปนี้:

  • การเปิดใช้งานสคริปต์ & มาโคร
  • วิธีสร้าง แมโครใน Excel
  • ตัวอย่างเฉพาะของแมโคร
  • เรียนรู้เพิ่มเติมเกี่ยวกับ VBA
  • สร้างปุ่มเพื่อเริ่มต้นใช้งาน VBA
  • เพิ่ม รหัสให้ฟังก์ชั่นปุ่ม
  • ทำงานได้หรือไม่
  • เปิดใช้งานสคริปต์และมาโคร

    ก่อนที่คุณจะสร้าง มาโครหรือสคริปต์ VBA ใน Excel คุณต้องเปิดใช้งานแท็บ นักพัฒนาซอฟต์แวร์บนเมนู ริบบิ้นแท็บนักพัฒนาไม่ได้เปิดใช้งานโดยค่าเริ่มต้น หากต้องการเปิดใช้งาน:

    • เปิดแผ่นงาน Excel
    • คลิกที่ ไฟล์>ตัวเลือก>ปรับแต่ง Ribbon
    • <รูป class = "lazy aligncenter">
      • ทำเครื่องหมายในช่องถัดจาก ผู้พัฒนา
        • คลิกที่แท็บ นักพัฒนาซอฟต์แวร์จากเมนู ริบบิ้น.
        • <รูป class = "lazy aligncenter">
          • ถัดไปคลิกที่ ความปลอดภัยของแมโครและทำเครื่องหมายที่ช่องถัดจาก เปิดใช้งานแมโครทั้งหมด (ไม่แนะนำให้ใช้รหัสที่อาจเป็นอันตราย)
          • จากนั้นคลิก ตกลง
          • มาโครเหตุผลที่ไม่ได้เปิดไว้โดยค่าเริ่มต้นและมีคำเตือนว่ารหัสเหล่านี้เป็นรหัสคอมพิวเตอร์ที่อาจมีมัลแวร์

            In_content_1 ทั้งหมด: [300x250] / dfp: [640x360]->

            ตรวจสอบให้แน่ใจว่าเอกสารนั้นมาจากแหล่งที่เชื่อถือได้หากคุณกำลังทำงานในโครงการที่ใช้ร่วมกันใน Excel และโปรแกรมอื่น ๆ ของ Microsoft

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

            สร้างแมโครใน Excel

            การกระทำทั้งหมดที่คุณทำใน Excel ในขณะที่บันทึกแมโครจะถูกเพิ่มเข้าไป

            • จากแท็บนักพัฒนาซอฟต์แวร์ให้คลิกที่ มาโครบันทึก
            • <รูป class = "lazy aligncenter">
              • ป้อน ชื่อมาโครซึ่งเป็น คีย์ลัดและ คำอธิบายชื่อมาโครจะต้องเริ่มต้นด้วยตัวอักษรและไม่มีช่องว่างใด ๆ แป้นพิมพ์ลัดต้องเป็นตัวอักษร
              • ตัดสินใจว่าคุณต้องการจัดเก็บแมโครจากตัวเลือกต่อไปนี้:

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

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

                    เริ่มต้นด้วยสเปรดชีตอย่างง่ายสำหรับลูกค้าและจำนวนเงินที่ค้างชำระ เราจะเริ่มต้นด้วยการสร้างแมโครเพื่อจัดรูปแบบแผ่นงาน

                    <รูป class = "lazy aligncenter">

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

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

                    บันทึกแมโคร

                    • คลิกที่ บันทึก มาโครมาเรียกมันว่า Format_Customer_Dataแล้วคลิก ตกลง
                    • หากต้องการจัดรูปแบบที่เราต้องการเราจะเปลี่ยนชื่อคอลัมน์แรกเป็น ชื่อ
                    • จากนั้นแทรกคอลัมน์ถัดจาก A และเรียกว่า นามสกุล
                    • เน้นชื่อทั้งหมดในคอลัมน์แรก (ซึ่งยังรวมถึงชื่อและนามสกุล) และคลิกที่ ข้อมูลจากการนำทางริบบิ้น
                    • คลิกที่ ข้อความไปยังคอลัมน์
                      • ทำเครื่องหมาย คั่นด้วยตัวเอง>ถัดไป>คั่นด้วยช่องว่าง>ถัดไป>เสร็จสิ้นดูภาพหน้าจอด้านล่างและชื่อและนามสกุลถูกคั่นด้วยกระบวนการด้านบน
                      • <รูป class = "lazy aligncenter">
                        • หากต้องการจัดรูปแบบฟิลด์ยอดดุลที่ครบกำหนดให้เน้นจำนวนเงิน คลิกที่ หน้าแรก>การจัดรูปแบบตามเงื่อนไข>เน้นกฎของเซลล์>มากกว่า>0.
                        • สิ่งนี้จะเน้นเซลล์ที่มีความสมดุล ครบกำหนด เราได้เพิ่มลูกค้าจำนวนหนึ่งโดยไม่มียอดคงเหลือเนื่องจากแสดงการจัดรูปแบบเพิ่มเติม

                          • กลับไปที่ นักพัฒนาซอฟต์แวร์และคลิก หยุดการบันทึก
                          • ใช้แมโคร

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

                            เมื่อคุณเรียกใช้มาโครการจัดรูปแบบทั้งหมดจะทำเพื่อคุณ มาโครนี้ที่เราเพิ่งสร้างจะถูกเก็บไว้ใน Visual Basic Editor

                            ผู้ใช้สามารถเรียกใช้มาโครได้หลายวิธี อ่าน เรียกใช้แมโคร เพื่อเรียนรู้เพิ่มเติม

                            เรียนรู้เพิ่มเติมเกี่ยวกับ VBA

                            หากต้องการเรียนรู้เกี่ยวกับ VBA ให้คลิกที่ มาโครจาก นักพัฒนาซอฟต์แวร์แถบ ค้นหาสิ่งที่คุณสร้างขึ้นแล้วคลิก แก้ไข

                            <รูป class = "lazy aligncenter">

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

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

                            สร้างปุ่มเพื่อเริ่มต้นใช้งาน VBA

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

                          • หากต้องการแทรกองค์ประกอบปุ่มให้ไปที่ นักพัฒนา <แท็บ / strong>
                          • เลือก ปุ่มคำสั่ง ActiveXจากเมนูแบบเลื่อนลงถัดจาก แทรกในส่วน การควบคุม
                          • ลากปุ่มไปที่ใดก็ได้บนสเปรดชีตเพื่อให้คุณสามารถเข้าถึงได้ง่ายและเปลี่ยนได้ในภายหลังหากคุณต้องการ
                          • <รูป class = "สันหลังยาว aligncenter ">
                          • หากต้องการแนบรหัสให้คลิกขวาที่ปุ่มแล้วเลือก คุณสมบัติเราจะเก็บ ชื่อเป็น CommandButtonและ คำบรรยายภาพเป็น แปลง(นี่คือข้อความปุ่ม)
                          • <รูป class = "lazy aligncenter">

                            เพิ่มรหัสเพื่อให้ฟังก์ชั่นปุ่ม

                            การเข้ารหัส VBA ไม่ได้เกิดขึ้นในส่วนต่อประสาน Excel มันทำในสภาพแวดล้อมที่แยกต่างหาก

                          • ไปที่แท็บ นักพัฒนาซอฟต์แวร์และตรวจสอบว่า โหมดการออกแบบทำงานอยู่
                          • <รูป class =" lazy aligncenter ">
                          • หากต้องการเข้าถึงรหัสของปุ่มที่เราเพิ่งสร้างขึ้น คลิกขวาแล้วเลือก ดูรหัส
                          • <รูป class = "lazy aligncenter">
                          • ดูรหัสในภาพหน้าจอด้านล่างสังเกตเห็นจุดเริ่มต้น (ส่วนย่อย) และจุดสิ้นสุด (จุดสิ้นสุด) ของรหัสนั้นมีอยู่แล้ว
                          • <รูป class = "lazy aligncenter">

                            ActiveCell.Value = (ActiveCell * 1.28)

                            จุดประสงค์ของเราในส่วนนี้ คือการแปลงสกุลเงินในสเปรดชีตของเรา สคริปต์ข้างต้นสะท้อนให้เห็นถึงอัตราแลกเปลี่ยนจาก GBP เป็น USD ค่าใหม่ของเซลล์จะเป็นสิ่งที่มีอยู่ในปัจจุบันคูณด้วย 1.28

                            ภาพหน้าจอด้านล่างแสดงให้คุณเห็นว่าโค้ดมีลักษณะอย่างไรในหน้าต่าง VBA หลังจากที่คุณใส่

                            <รูป class =" lazy aligncenter ">
                          • ไปที่ ไฟล์ใน การนำทางด้านบนและ คลิกที่ปิดแล้วกลับไปที่ Microsoft Excelเพื่อกลับไปยังอินเทอร์เฟซหลักของ Excel
                          • <รูป class = "lazy aligncenter">

                            ใช้งานได้หรือไม่

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

                          • พิมพ์ตัวเลขใด ๆ ลงในสเปรดชีตของคุณแล้วคลิก แปลงปุ่ม. หากค่าของตัวเลขของคุณเพิ่มขึ้นประมาณหนึ่งในสี่มันจะทำงาน
                          • สำหรับตัวอย่างนี้ฉันใส่หมายเลข 4 ลงในเซลล์ หลังจากคลิก แปลงหมายเลขจะเปลี่ยนเป็น 5.12 ตั้งแต่ 4 ครั้ง 1.28 เป็น 5.12 รหัสจึงถูกต้อง

                            <รูป class = "lazy aligncenter">

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

                            Macro ตอนที่ 6 - Using Excel with VBA Concept

                            กระทู้ที่เกี่ยวข้อง:


                            13.12.2019