Excel - เรียกใช้แมโครเมื่อป้อนข้อมูลในเซลล์

หากผู้ใช้ต้องการเรียกใช้ แมโคร ใน Microsoft Excel เมื่อพบว่ามีการเติม เซลล์ D10 จะต้องใช้เหตุการณ์การเปลี่ยนแผ่นงานในแผ่นงาน Excel ไม่ใช่ในโมดูล //www.4shared.com/file/89145449/43c8c38/Change_Value_of D10.htlml ถูกดาวน์โหลดและมีการตั้งรหัสต้นฉบับที่ใช้ในการเรียกใช้ แมโคร ไอคอน Visual Basic ของแท็บ Developer ถูกเลือกสำหรับ Microsoft Excel-2007 หลังจากดูเวิร์กชีทที่ต้องการให้เรียกใช้รหัสแล้วประกาศและทั่วไปจะถูกดร็อปดาวน์และเลือกเวิร์กชีท คำว่า 'การเลือก' จะถูกลบออกจาก 'ส่วนตัวย่อย Worksheet_SelectionChange' ในหน้าต่างรหัส สำหรับการเปลี่ยนค่าใน เซลล์ D10 '$ D $ 10' คือที่อยู่เป้าหมายที่ตั้งค่าไว้ สิ่งนี้จะทำให้แผ่นงานเปลี่ยนเหตุการณ์ "เรียก" มาโคร

  • ปัญหา
  • สารละลาย
  • บันทึก

ปัญหา

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

สารละลาย

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

//www.4shared.com/file/89145449/43c8c38/Change_Value_of_D10.html

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

เนื่องจากคุณใช้ Excel 2007 นี่คือสิ่งที่คุณต้องทำ:

  • 1) คลิกที่แท็บนักพัฒนาซอฟต์แวร์
  • 2) คลิกที่ไอคอน Visual Basic
  • 3) ในหน้าต่างบานหน้าต่างด้านซ้ายดับเบิลคลิกที่แผ่นงานที่คุณต้องการให้รหัสทำงาน
  • 4) ตอนนี้ที่ด้านบนของหน้าต่างรหัสคุณจะเห็น (ทั่วไป) พร้อมกับดร็อปดาวน์และ (ประกาศ) พร้อมดร็อปดาวน์
  • 5) คลิกที่ดรอปดาวน์โดย (ทั่วไป) และเลือกแผ่นงาน
  • 6) ตอนนี้ในหน้าต่างรหัสคุณจะเห็น Private Sub Worksheet_SelectionChange (ByVal Target As Range)
  • 7) ลบคำว่า "เลือก" คุณต้องการลบ "การเลือก" เพราะนั่นหมายความว่าเมื่อคุณคลิกที่เซลล์ในเวิร์กชีทสิ่งที่จะเกิดขึ้น คุณไม่ต้องการคุณต้องการป้อนค่าใน D10 ตอนนี้คุณควรอ่านเวิร์กชีตย่อยส่วนตัว _ เปลี่ยน (เป้าหมายเป็นช่วง ByVal)
  • 8) นี่คือที่ที่คุณต้องการรหัส ...

 Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)

ถ้า Target.Address = "$ D $ 10" จากนั้น

โทร MyMacro

สิ้นสุดถ้า

ส่วนท้าย

  • 9) ความหมายเมื่อคุณเปลี่ยนค่าใน D10 เหตุการณ์เปลี่ยนแผ่นงานจะ "เรียก" มาโครของคุณ

บันทึก

ขอบคุณ WutUp WutUp สำหรับเคล็ดลับนี้ในฟอรัม
บทความก่อนหน้านี้ บทความถัดไป

เคล็ดลับยอดนิยม