วัตถุช่วง Excel VBA

ช่วง VBA คืออะไร

VBA Range Object แสดงถึงเซลล์หรือหลายเซลล์ในแผ่นงาน Excel ของคุณ เป็นวัตถุที่สำคัญที่สุดของ Excel VBA โดยใช้วัตถุช่วง Excel VBA คุณสามารถอ้างถึง

  • เซลล์เดียว
  • แถวหรือคอลัมน์ของเซลล์
  • การเลือกเซลล์
  • ช่วงสามมิติ

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

รู้เบื้องต้นเกี่ยวกับการอ้างอิงวัตถุใน VBA

การอ้างอิงวัตถุช่วง VBA ของ Excel และตัวระบุวัตถุ

  • ตัวระบุวัตถุ: ใช้สำหรับอ้างอิงวัตถุ โดยจะระบุสมุดงานหรือแผ่นงานที่คุณอ้างถึง

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

  • อสังหาริมทรัพย์: คุณสมบัติจัดเก็บข้อมูลเกี่ยวกับวัตถุ
  • วิธีการ: วิธีการคือการกระทำของวัตถุที่มันจะดำเนินการ ออบเจ็กต์ช่วงสามารถดำเนินการต่างๆ เช่น เลือก คัดลอก ล้าง เรียงลำดับ ฯลฯ

VBA ปฏิบัติตามรูปแบบลำดับชั้นของวัตถุเพื่ออ้างอิงวัตถุใน Excel คุณต้องปฏิบัติตามโครงสร้างต่อไปนี้ โปรดจำไว้ว่า .dot ด้านบนนี้เชื่อมต่อวัตถุในแต่ละระดับที่แตกต่างกัน

แอปพลิเคชัน สมุดงาน แผ่นงาน ช่วง

ออบเจ็กต์เริ่มต้นมีสองประเภทหลักๆ

วิธีอ้างอิงถึง Excel VBA Range Object โดยใช้คุณสมบัติ Range

คุณสมบัติช่วงสามารถนำไปใช้กับวัตถุสองประเภทที่แตกต่างกัน

  • วัตถุแผ่นงาน
  • วัตถุช่วง

ไวยากรณ์สำหรับคุณสมบัติช่วง

  1. คำหลัก "ช่วง"
  2. วงเล็บที่ตามหลังคำสำคัญ
  3. ช่วงเซลล์ที่เกี่ยวข้อง
  4. คำอ้างอิง (" ")
Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")

เมื่อคุณอ้างอิงวัตถุ Range ดังที่แสดงด้านบน วัตถุนั้นจะถูกเรียกว่า การอ้างอิงที่มีคุณสมบัติครบถ้วน- คุณได้บอก Excel อย่างชัดเจนว่าคุณต้องการช่วงใด แผ่นงานใด และในแผ่นงานใด

ตัวอย่าง: ข่าวสารเกี่ยวกับBox แผ่นงาน ("แผ่นงาน 1"). ช่วง ("A1"). ค่า

การใช้คุณสมบัติ Range คุณสามารถทำงานหลายอย่างเช่น

  • อ้างถึงเซลล์เดียวโดยใช้คุณสมบัติช่วง
  • อ้างถึงเซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range
  • อ้างถึงทั้งแถวหรือคอลัมน์
  • อ้างถึงเซลล์ที่ผสานโดยใช้ Worksheet.Range Property และอื่นๆ อีกมากมาย

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

อ้างถึงเซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range

หากต้องการอ้างอิงถึงเซลล์เดียว คุณต้องอ้างอิงถึงเซลล์เดียว

ไวยากรณ์เป็นเรื่องง่าย “พิสัย(”เซลล์”)”

ที่นี่เราจะใช้คำสั่ง ".Select" เพื่อเลือกเซลล์เดียวจากแผ่นงาน

ขั้นตอน 1) ในขั้นตอนนี้ ให้เปิด Excel ของคุณ

เซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range

ขั้นตอน 2) ในขั้นตอนนี้

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

เซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range

ขั้นตอน 3) ในขั้นตอนถัดไป

  • คลิกที่ปุ่มมาโคร เซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range จากเมนูด้านบน มันจะเปิดหน้าต่างด้านล่าง
  • ในหน้าต่างนี้ คลิกที่ปุ่ม 'แก้ไข'

เซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range

ขั้นตอน 4) ขั้นตอนข้างต้นจะเปิดตัวแก้ไขโค้ด VBA สำหรับชื่อไฟล์ "Single Cell Range" กรอกรหัสตามที่แสดงด้านล่างเพื่อเลือกช่วง “A1” จาก Excel

เซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range

ขั้นตอน 5) ตอนนี้บันทึกไฟล์ เซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range และรันโปรแกรมดังภาพด้านล่าง

เซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range

ขั้นตอน 6) คุณจะเห็นเซลล์ “A1” ถูกเลือกหลังจากการทำงานของโปรแกรม

เซลล์เดียวโดยใช้คุณสมบัติ Worksheet.Range

ในทำนองเดียวกัน คุณสามารถเลือกเซลล์ที่มีชื่อเฉพาะได้ ตัวอย่างเช่น หากคุณต้องการค้นหาเซลล์ที่ชื่อ “Guru99- VBA Tutorial” คุณจะต้องรันคำสั่งตามที่แสดงด้านล่าง ระบบจะเลือกเซลล์ที่มีชื่อนั้น

ช่วง("Guru99- VBA Tutorial") เลือก

หากต้องการใช้ออบเจ็กต์ช่วงอื่น นี่คือตัวอย่างโค้ด

ช่วงสำหรับการเลือกเซลล์ใน Excel ประกาศช่วงแล้ว
สำหรับแถวเดี่ยว พิสัย("1:1")
สำหรับคอลัมน์เดียว ช่วง ("A: A")
สำหรับเซลล์ที่อยู่ติดกัน พิสัย("A1:C5")
สำหรับเซลล์ที่ไม่ต่อเนื่องกัน พิสัย("A1:C5, F1:F5")
สำหรับจุดตัดของสองช่วง พิสัย("A1:C5 F1:F5")

(สำหรับเซลล์จุดตัด โปรดจำไว้ว่าไม่มีตัวดำเนินการเครื่องหมายจุลภาค)

เพื่อรวมเซลล์ พิสัย("A1:C5")

(หากต้องการรวมเซลล์ให้ใช้คำสั่ง "ผสาน")

คุณสมบัติของเซลล์

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

ตัวอย่างเช่น

Cells.item (แถว, คอลัมน์) ทั้งสองบรรทัดด้านล่างอ้างอิงถึงเซลล์ A1

  • Cells.item(1,1) หรือ
  • Cells.item (1” A”)

คุณสมบัติออฟเซ็ตช่วง

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

ตัวอย่างเช่น

Range("A1").offset(Rowoffset:=1, Columnoffset:=1).Select

ผลลัพธ์จะเป็นเซลล์ B2 คุณสมบัติออฟเซ็ตจะย้ายเซลล์ A1 ไปที่ 1 คอลัมน์และห่างออกไป 1 แถว คุณสามารถเปลี่ยนค่าของ rowoffset / columnoffset ได้ตามความต้องการ คุณสามารถใช้ค่าลบ (-1) เพื่อย้ายเซลล์ไปข้างหลัง

ดาวน์โหลด Excel ที่มีโค้ดด้านบน

ดาวน์โหลดโค้ด Excel ข้างต้น

สรุป

  • VBA Range Object แสดงถึงเซลล์หรือหลายเซลล์ในแผ่นงาน Excel ของคุณ
  • เซลล์เดียว
  • แถวหรือคอลัมน์ของเซลล์
  • การเลือกเซลล์
  • ช่วงสามมิติ
  • เพื่อจัดการค่าของเซลล์ อสังหาริมทรัพย์ และ วิธีการ ถูกนำมาใช้
  • คุณสมบัติจัดเก็บข้อมูลเกี่ยวกับวัตถุ
  • วิธีการคือการกระทำของออบเจ็กต์ที่จะดำเนินการ เช่น เลือก ผสาน เรียงลำดับ ฯลฯ
  • VBA ปฏิบัติตามรูปแบบลำดับชั้นของวัตถุเพื่ออ้างอิงวัตถุใน Excel โดยใช้ตัวดำเนินการ .dot
  • คุณสมบัติช่วงสามารถนำไปใช้กับวัตถุสองประเภทที่แตกต่างกัน
  • วัตถุแผ่นงาน
  • วัตถุช่วง