ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

สำหรับเวอร์ชัน Microsoft Excel ๙๗ของบทความนี้ให้ดูที่๑๕๗๓๔๖สำหรับเวอร์ชัน Microsoft Excel ๙๘ของบทความนี้ให้ดูที่๑๘๒๔๘๒

อาการ

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

สาเหตุ

การดำเนินการนี้จะเกิดขึ้นถ้าเงื่อนไขต่อไปนี้ทั้งสองเป็นจริง:

  • โค้ดในคำถามมีอยู่ภายใน subroutine ที่ทำงานโดยอัตโนมัติเช่น Auto_Open หรือ Auto_Close subroutine

  • โค้ดไม่มีอยู่ในโมดูลของ Visual Basic แต่ "อยู่ด้านหลัง" เวิร์กชีตหรือเวิร์กบุ๊กเอง

วิธีแก้ไขปัญหาชั่วคราว

เมื่อต้องการทำงาน subroutines โดยอัตโนมัติเพื่อให้สามารถทำงานได้อย่างถูกต้องใน Microsoft Excel จะต้องมีอยู่ภายในโมดูลของ Visual Basic คุณต้องแทรกโมดูลของ Visual Basic ลงในเวิร์กบุ๊กแล้ววางโค้ดในโมดูลใหม่ เมื่อต้องการแทรกโมดูลของ Visual Basic:

  1. ใน Project Explorer ใน Visual Basic Editor ให้เปิดใช้งานเวิร์กบุ๊กที่มีโค้ดในคำถาม

  2. ในเมนู แทรก คลิก มอดูล

หลังจากที่มีการแทรกโมดูลใหม่แล้วให้ตัดโค้ดจากตำแหน่งที่ตั้งเดิมแล้ววางลงในโมดูลของ Visual Basic จากนั้นให้บันทึกเวิร์กบุ๊ก

ข้อมูลเพิ่มเติม

ใน Excel, โค้ด VBA สามารถจัดเก็บไว้ในตำแหน่งที่ตั้งที่แตกต่างกันสามตำแหน่งดังนี้ในโมดูลคลา visual basic ในโมดูลคลา Visual Basic และ "อยู่ด้านหลัง" เวิร์กชีตและเวิร์กบุ๊ก เมื่อต้องการแก้ไขรหัส "ด้านหลัง" เวิร์กชีตหรือเวิร์กบุ๊กให้ทำดังนี้

  1. เปิดใช้งาน Visual Basic Editor (กด ALT + F11)

  2. ในหน้าต่าง Project Explorer คุณจะเห็นรายการที่คล้ายกับข้อความต่อไปนี้:

         VBAProject (Book1)         Microsoft Excel Objects            Sheet1 (Sheet1)            Sheet2 (Sheet2)            Sheet3 (Sheet3)            ThisWorkbook                  Modules             Module1 

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

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

ขอบคุณสำหรับคำติชมของคุณ!

×