กิจกรรมใน Excel

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

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

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

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

โค้ด VBA ที่มีไว้สำหรับจัดการเหตุการณ์ของ Excel ต้องอยู่ในเวิร์กชีตหรืออ็อบเจกต์เวิร์กบุ๊กที่เหมาะสมในหน้าต่างตัวแก้ไข VBA (สามารถเปิดเอดิเตอร์ได้โดยคลิก Alt + F11). ตัวอย่างเช่น โค้ดที่ควรดำเนินการทุกครั้งที่มีเหตุการณ์บางอย่างเกิดขึ้นที่ระดับเวิร์กชีตควรอยู่ในหน้าต่างโค้ดสำหรับเวิร์กชีตนั้น นี้แสดงในรูป:

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

กิจกรรมใน Excel

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

ตัวอย่าง

ในตัวอย่างต่อไปนี้ ทุกครั้งที่เลือกเซลล์ B1 ในใบงาน Sheet1 กล่องข้อความจะปรากฏขึ้น

ในการดำเนินการนี้ เราจำเป็นต้องใช้ worksheet event การเลือก_การเปลี่ยนแปลงซึ่งเกิดขึ้นทุกครั้งที่การเลือกเซลล์หรือช่วงของเซลล์เปลี่ยนแปลง การทำงาน การเลือก_การเปลี่ยนแปลง รับเป็นข้อโต้แย้ง เป้า วัตถุ -. นี่คือวิธีที่เราทราบได้ว่าช่วงของเซลล์ใดถูกเลือก

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

'รหัสสำหรับแสดงกล่องข้อความเมื่อเซลล์ B1 ถูกเลือก' ในแผ่นงานปัจจุบัน Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'ตรวจสอบว่าได้เลือกเซลล์ B1 หรือไม่ ถ้า Target.Count = 1 และ Target.Row = 1 และ Target.Column = 2 จากนั้น 'หากเลือกเซลล์ B1 ให้ทำ MsgBox ต่อไปนี้ "คุณมี เลือกเซลล์ B1" End If End Sub

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