/ / สมุดงาน Excel VBA และวัตถุแผ่นงาน

สมุดงาน Excel VBA และวัตถุแผ่นงาน

Object Hierarchy | คอลเลกชัน | คุณสมบัติและวิธีการ

เรียนรู้เพิ่มเติมเกี่ยวกับ สมุด และ วัตถุแผ่นงาน ใน Excel VBA.

Object Hierarchy

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

แม่ของวัตถุทั้งหมดคือ Excel เอง เราเรียกว่า Application object วัตถุแอ็พพลิเคชันมีออบเจกต์อื่น ตัวอย่างเช่นวัตถุสมุดงาน (แฟ้ม Excel) นี่เป็นสมุดงานที่คุณสร้างขึ้น วัตถุเวิร์กบุคประกอบด้วยอ็อบเจ็กต์อื่นเช่น Worksheet object ออบเจ็กต์แผ่นงานมีอ็อบเจกต์อื่นเช่นออบเจกต์ Range

บทที่ Create a macro แสดงให้เห็นถึงวิธีการเรียกใช้โค้ดโดยคลิกที่ปุ่มคำสั่ง เราใช้บรรทัดรหัสต่อไปนี้:

Range("A1").Value = "Hello"

แต่สิ่งที่เราตั้งใจจริงคือ:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

หมายเหตุ: วัตถุเชื่อมต่อกับจุด โชคดีที่เราไม่ต้องเพิ่มโค้ดด้วยวิธีนี้ นั่นเป็นเพราะเราวางปุ่มคำสั่งไว้ใน create-a-macro.xls ในแผ่นงานแรก โปรดทราบว่าหากคุณต้องการเปลี่ยนแปลงสิ่งต่างๆในแผ่นงานอื่นคุณต้องใส่ Worksheet object อ่านต่อ.

คอลเลกชัน

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

ชื่อแผ่นงาน

คุณสามารถอ้างถึงสมาชิกของคอลเล็กชันตัวอย่างเช่นออบเจกต์แผ่นงานเดียวได้สามวิธี

1. ใช้ชื่อเวิร์กชีท

Worksheets("Sales").Range("A1").Value = "Hello"

2. ใช้หมายเลขดัชนี (1 เป็นแผ่นงานแรกเริ่มจากด้านซ้าย)

Worksheets(1).Range("A1").Value = "Hello"

3. การใช้ CodeName

Sheet1.Range("A1").Value = "Hello"

เมื่อต้องการดู CodeName ของแผ่นงานให้เปิด Visual Basic Editor ใน Project Explorer ชื่อแรกคือ CodeName ชื่อที่สองคือชื่อแผ่นงาน (ขาย)

รหัสชื่อ

บันทึก: CodeName จะยังคงเหมือนเดิมหากคุณเปลี่ยนชื่อเวิร์กชีทหรือลำดับของเวิร์กชีทของคุณเพื่อให้เป็นวิธีที่ปลอดภัยที่สุดในการอ้างอิงแผ่นงาน คลิก View, Properties Window เพื่อเปลี่ยน CodeName ของเวิร์กชีท มีข้อเสียอย่างหนึ่งคือคุณไม่สามารถใช้ CodeName ถ้าคุณอ้างอิงแผ่นงานในสมุดงานอื่น

คุณสมบัติและวิธีการ

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

วางปุ่มคำสั่งในแผ่นงานของคุณและเพิ่มบรรทัดรหัส:

1. วิธีการเพิ่มของคอลเลกชันสมุดงานสร้างสมุดงานใหม่

Workbooks.Add

หมายเหตุ: เมธอด Add ของ Worksheets collection จะสร้างแผ่นงานใหม่

2. การนับคุณสมบัติของชุดงานเวิร์กชีทนับจำนวนเวิร์กชีทในสมุดงาน

MsgBox Worksheets.Count

ผลลัพธ์เมื่อคุณคลิกปุ่มคำสั่งบนแผ่นงาน:

นับคุณสมบัติใน Excel VBA

หมายเหตุ: คุณสมบัติ Count ของคอลเลกชันสมุดงานจะนับจำนวนสมุดงานที่ใช้งานอยู่

อ่านเพิ่มเติมได้ที่: