การอ้างอิงเซลล์ใน Excel VBA (8 ตัวอย่าง)

  • แบ่งปันสิ่งนี้
Hugh West

ในบทความนี้ ฉันจะแสดงวิธีเข้าถึงการอ้างอิงเซลล์ใน VBA ใน Excel คุณจะได้เรียนรู้วิธีเข้าถึงเซลล์เดียวและหลายเซลล์พร้อมกัน

ดาวน์โหลดแบบฝึกหัดแบบฝึกหัด

ดาวน์โหลดแบบฝึกหัดเล่มนี้เพื่อฝึกใช้งานในขณะที่คุณกำลังอ่าน บทความนี้

การอ้างอิงเซลล์ VBA.xlsm

8 วิธีอ้างอิงการอ้างอิงเซลล์ใน Excel VBA

ที่นี่เรามีชุดข้อมูลที่มี ชื่อหนังสือ , ประเภทหนังสือ และ ราคา ของหนังสือบางเล่มของร้านหนังสือชื่อ Martin Bookstore

ชุดข้อมูลอยู่ในช่วง B4:D13 ของแผ่นงาน

วันนี้ วัตถุประสงค์ของเราคือการเรียนรู้วิธีอ้างอิงการอ้างอิงเซลล์ของ ชุดข้อมูลนี้ด้วย VBA

นี่คือ 8 วิธีที่ดีที่สุดในการอ้างถึงการอ้างอิงเซลล์ด้วย VBA ใน Excel

1. อ้างอิงการอ้างอิงเซลล์โดยใช้วัตถุช่วงใน VBA ใน Excel

ก่อนอื่น คุณสามารถอ้างถึงการอ้างอิงเซลล์โดยใช้วัตถุ ช่วง ของ VBA .

คุณสามารถอ้างถึงทั้งเซลล์เดียวและช่วงของเซลล์ด้วยวัตถุ ช่วง

ตัวอย่างเช่น ในการเข้าถึงเซลล์เดียว B4 ใช้บรรทัดรหัส:

Dim Cell_Reference As Range

Set Cell_Reference = Range("B4")

โค้ดต่อไปนี้เลือกเซลล์ B4 .

จะเลือกเซลล์ B4 ในแผ่นงานที่ใช้งานอยู่

ในทำนองเดียวกัน คุณสามารถเข้าถึงช่วงของเซลล์ในส่วนนี้ทาง

Dim Cell_Reference As Range

Set Cell_Reference = Range("B4:D13")

รหัสต่อไปนี้เลือกช่วง B4 :D13 .

จะเลือกช่วงของเซลล์ B4:D13 .

<3

หมายเหตุ : คุณสามารถใช้วัตถุ ช่วง ได้โดยตรงโดยไม่ต้องประกาศก่อน เช่น:

Range("B4:D13").Select

นอกจากนี้ ถ้าคุณต้องการเข้าถึงเซลล์ใดๆ ของเวิร์กชีตที่ไม่ได้ใช้งาน ให้ใช้ชื่อของเวิร์กชีตก่อนวัตถุ ช่วง

ตัวอย่างเช่น เมื่อต้องการเข้าถึงเซลล์ B4 จาก Sheet2 ใช้:

Worksheets("Sheet2").Range("B4:D13")

2. อ้างอิงการอ้างอิงเซลล์โดยใช้หมายเลขดัชนีใน VBA ใน Excel

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

ตัวอย่างเช่น เมื่อต้องการเข้าถึงเซลล์ที่มีหมายเลขแถว 4 และหมายเลขคอลัมน์ 2 ( B4 ), ใช้:

Cells(4, 2))

รหัสต่อไปนี้เลือกเซลล์ B4 ของแผ่นงานที่ใช้งานอยู่อีกครั้ง

จะเลือกเซลล์ B4 .

หมายเหตุ: เมื่อต้องการเข้าถึงเซลล์ใดๆ ของเวิร์กชีตที่ไม่ได้ใช้งาน ให้ใช้ชื่อของเวิร์กชีตก่อนการอ้างอิงเซลล์

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

Worksheets("Sheet2").Cells(4, 2)

[ เหมือนกับวิธีที่ 1 ] .

3. อ้างอิงการอ้างอิงเซลล์แบบสัมพัทธ์กับเซลล์อื่นใน VBA ใน Excel

คุณยังสามารถอ้างอิงการอ้างอิงเซลล์โดยสัมพันธ์กับเซลล์อื่นใน VBA คุณต้องใช้ ฟังก์ชัน Offset ของ VBA สำหรับนี้

หากต้องการเข้าถึงเซลล์ 1 แถวลงและ 2 คอลัมน์ด้านขวาของเซลล์ B4 (D5) ให้ใช้:

Range("B4").Offset(1, 2)

รหัสต่อไปนี้เลือกเซลล์ D5 ของเวิร์กชีตที่ใช้งานอยู่

It' จะเลือกเซลล์ D5 .

หมายเหตุ: เมื่อต้องการอ้างถึงเซลล์ใดๆ ของเวิร์กชีตที่ไม่ได้ใช้งาน ให้ใช้ชื่อของ แผ่นงานก่อนการอ้างอิงเซลล์

ตัวอย่าง:

Worksheets("Sheet2").Range("B4").Offset(1, 2)

[ เหมือนกับวิธีที่ 1 และ 2 ] .

4. อ้างอิงถึงการอ้างอิงเซลล์โดยใช้สัญลักษณ์ทางลัดใน VBA ใน Excel

มีสัญลักษณ์ทางลัดที่พร้อมใช้งานเพื่อเข้าถึงการอ้างอิงเซลล์ใดๆ ใน VBA คุณสามารถอ้างถึงทั้งเซลล์เดียวและหลายเซลล์ได้ด้วยวิธีนี้

หากต้องการเข้าถึงเซลล์ B4 ให้ใช้:

[B4]

หรือหากต้องการเข้าถึงช่วง B4:D13 ให้ใช้:

[B4:D13]

รหัสต่อไปนี้ เลือกช่วง B4:D13 .

จะเป็นการเลือกช่วง B4:D13 .

หมายเหตุ: เมื่อต้องการอ้างถึงเซลล์ใดๆ ของเวิร์กชีตที่ไม่ได้ใช้งาน ให้ใช้ชื่อของเวิร์กชีตก่อนการอ้างอิงเซลล์

ตัวอย่าง:

Worksheets("Sheet2").[B4:D13]

[ เหมือนกับวิธีที่ 1, 2 และ 3 ] .

คล้ายกัน การอ่าน:

  • วิธีล็อกเซลล์ในสูตร Excel (2 วิธี)
  • ทางลัดการอ้างอิงเซลล์แบบสัมบูรณ์ใน Excel (4 ประโยชน์ ตัวอย่าง)
  • วิธีทำให้เซลล์คงที่ในสูตร Excel (4 วิธีง่ายๆ)
  • ใช้การอ้างอิงเซลล์ในสูตร Excel (3 วิธี)

5. อ้างอิงถึงช่วงที่มีชื่อใน VBA ใน Excel

คุณสามารถอ้างอิงถึง ช่วงที่มีชื่อ ด้วย VBA ใน Excel

มาตั้งชื่อกันเถอะ ช่วง B4:D13 ของแผ่นงานที่ใช้งานเป็น Book_List.

ตอนนี้เราสามารถอ้างถึง ช่วงที่ตั้งชื่อ ตามบรรทัดของรหัส:

Range("Book_List")

รหัสต่อไปนี้เลือกช่วง Book_List ( B4:D13 ).

จะเป็นการเลือกช่วง Book_List .

หมายเหตุ: หากต้องการเข้าถึงเซลล์ใดๆ ของเวิร์กชีตที่ไม่ได้ใช้งาน ให้ใช้ชื่อของเวิร์กชีตก่อนการอ้างอิงเซลล์

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

Worksheets("Sheet2").Range("Book_List")

[ เหมือนกับวิธีที่ 1, 2, 3 และ 4 ] .

6. อ้างอิงถึงหลายช่วงใน VBA ใน Excel

คุณยังสามารถอ้างอิงถึงหลายช่วงใน VBA ใน Excel

หากต้องการเข้าถึงช่วง B4: D5 , B7:D8 และ B10:D11 ใช้:

Range("B4:D5,B7:D8,B10:D11")

จะเป็นการเลือกหลายช่วงด้วยกัน

นอกจากนี้ คุณสามารถใช้คุณสมบัติ Union ของ VBA เพื่อเข้าถึงหลายช่วงด้วยกัน

Union(Range("B4:D5"), Range("B7:D8"), Range("B10:D11"))

หรือคุณสามารถเข้าถึงหลาย ช่วงที่มีชื่อ พร้อมกัน<3 Range("Named_Range_1,Named_Range_2")

นอกจากนี้ ใส่ชื่อเวิร์กชีตไว้ข้างหน้าเวิร์กชีตที่ไม่ได้ใช้งาน

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

Worksheets("Sheet2").Range("B4:D5,B7:D8,B10:D11")

[ เหมือนกับวิธีที่ 1, 2, 3, 4 และ 5 ]

7. อ้างถึงแถวและคอลัมน์ใน VBA ใน Excel

คุณยังสามารถอ้างถึงหรือแถวหรือคอลัมน์เพิ่มเติมใน VBA ใน Excel

หากต้องการเข้าถึงแถว 4 ให้ใช้:

Rows (4)

จะเลือกทั้งแถว 4

ในทำนองเดียวกัน คอลัมน์ (4) จะเข้าถึงทั้งคอลัมน์ 4

และหากต้องการเข้าถึงหลายแถวหรือหลายคอลัมน์พร้อมกัน ให้ใช้คุณสมบัติ Union ของ VBA .

หากต้องการเข้าถึงแถว 4, 6, 8, และ 10 พร้อมกัน ให้ใช้:

Union(Rows(4), Rows(6), Rows(8), Rows(10))

จะเลือกทั้งแถว 4, 6, 8 และ 10 .

หมายเหตุ: เพิ่มชื่อเวิร์กชีตข้างหน้าในกรณีที่ไม่ใช่เวิร์กชีต

ตัวอย่าง:

Worksheets("Sheet2").Rows (4)

[ เหมือนกับวิธีที่ 1, 2, 3, 4, 5 และ 6 ]

8. อ้างถึงแผ่นงานทั้งหมดใน VBA ใน Excel

สุดท้ายนี้ ฉันจะแสดงให้คุณเห็นถึงแผ่นงานทั้งหมด ในการเข้าถึงเวิร์กชีตทั้งหมดใน VBA ให้ใช้:

Cells

หรือเพื่ออ้างถึงเวิร์กชีตที่ไม่ได้ใช้งาน (ตัวอย่างเช่น Sheet2 ) ให้ใช้:

Worksheet("Sheet2").Cells

จะเป็นการเลือกเวิร์กชีตทั้งหมด Sheet2

เนื้อหาที่เกี่ยวข้อง: ที่อยู่เซลล์สัมพัทธ์และสัมบูรณ์ในสเปรดชีต

สิ่งที่ต้องจำ

  • ในการเข้าถึงเซลล์ของเวิร์กชีตที่ใช้งานอยู่หนึ่งเซลล์ขึ้นไป คุณอาจระบุชื่อเวิร์กชีตนำหน้าหรือไม่ก็ได้ แต่หากต้องการเข้าถึงเซลล์ของเวิร์กชีตที่ไม่ได้ใช้งาน คุณต้องระบุชื่อเวิร์กชีตใน ด้านหน้าของการอ้างอิงเซลล์
  • แม้คุณจะทำได้เข้าถึงเซลล์ของเวิร์กบุ๊กที่ไม่ได้ใช้งานใน VBA ในกรณีนี้ คุณต้องระบุทั้งชื่อเวิร์กบุ๊กและ ชื่อเวิร์กชีต ข้างหน้าการอ้างอิงเซลล์

บทสรุป

เมื่อใช้วิธีการเหล่านี้ คุณสามารถอ้างถึงการอ้างอิงเซลล์ใดก็ได้ด้วย VBA ใน Excel คุณมีคำถามใดๆ? อย่าลังเลที่จะถามเรา

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง