ในเวิร์กบุ๊ก Excel ที่มีชุดข้อมูลขนาดใหญ่ คุณสามารถอ้างอิงตารางโดยใช้ชื่อแทนการอ้างอิงทั้งช่วงได้สะดวก การใช้ VBA ใน Excel เป็นวิธีที่รวดเร็ว น่าเชื่อถือที่สุด และมีประสิทธิภาพมากที่สุดในการดำเนินการใดๆ หากคุณกำลังมองหาเทคนิคพิเศษที่จะรู้ "วิธีอ้างอิงตารางด้วย Excel VBA" คุณมาถูกที่แล้ว มีหลายวิธีในการอ้างอิงตารางใน Excel บทความนี้จะกล่าวถึงรายละเอียดของวิธีการเหล่านี้ มาทำตามคำแนะนำฉบับสมบูรณ์เพื่อเรียนรู้ทั้งหมดนี้
อ้างอิงตารางที่มีคุณสมบัติ ListObject
ขณะเขียนโค้ด VBA ListObjects ใช้เพื่ออ้างถึงตาราง Excel สามารถสร้างและลบตาราง Excel ด้วยความช่วยเหลือของ VBA LISTOBJECTS . อย่างไรก็ตาม การใช้ตาราง Excel อาจเป็นเรื่องยากสำหรับผู้เริ่มต้น และแม้แต่ผู้ใช้ระดับกลางในระดับหนึ่ง เนื่องจากบทความนี้กล่าวถึงการอ้างอิงตาราง Excel สิ่งสำคัญคือต้องมีความเข้าใจที่ดีเกี่ยวกับ Tables ใน Excel เมื่อเขียนโค้ด VBA
ตัวอย่างเช่น หากต้องการเลือกทั้งตารางในเวิร์กชีต Excel คุณต้องเขียนโค้ด VBA ต่อไปนี้
ActiveSheet.ListObjects("Table_ref_1").Range.Select
รหัสบรรทัดนี้จะเลือกตาราง (“Table_ref_1” คือชื่อตารางในชุดข้อมูลของเรา)
20 ตัวอย่างที่เหมาะสมในการใช้การอ้างอิงตารางใน Excel ด้วยโค้ด VBA
ส่วนต่อไปนี้จะใช้ตัวอย่างที่มีประสิทธิภาพและซับซ้อน 20 ตัวอย่างเพื่ออ้างอิงตารางใน Excel ในการทำงาน คุณต้องใช้รหัส VBA นี่คือภาษาโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์ของ Microsoft ที่เรียกว่า Visual Basic for Applications (VBA) ในการใช้คุณลักษณะนี้ คุณต้องมี นักพัฒนา . ก่อน แท็บที่แสดงบนริบบิ้นของคุณ คลิกที่นี่เพื่อดูว่าคุณสามารถแสดงแท็บนักพัฒนาซอฟต์แวร์บนริบบิ้นของคุณได้อย่างไร . ส่วนนี้ให้รายละเอียดมากมายเกี่ยวกับวิธีการเหล่านี้ คุณควรเรียนรู้และนำไปใช้เพื่อปรับปรุงความสามารถในการคิดและความรู้ Excel ของคุณ เราใช้ Microsoft Office 365 เวอร์ชันที่นี่ แต่คุณสามารถใช้เวอร์ชันอื่นได้ตามต้องการ
1. เลือกทั้งตาราง
ที่นี่เราจะสาธิตวิธีการเลือกทั้งตาราง ก่อนอื่น เพื่อที่จะอ้างถึง Table ที่สร้างไว้แล้วใน Excel คุณต้องประกาศ Table เป็น ListObject ก่อน จากนั้นอ้างอิงตารางที่มีชื่ออยู่ใน Excel เพื่อจุดประสงค์ในการสาธิต เราจะใช้ชุดข้อมูลต่อไปนี้
ในการดำเนินการนี้ คุณต้องทำตามขั้นตอนต่อไปนี้
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Select_whole_Table()
ActiveSheet.ListObjects("Table_ref_1").Range.Select
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ เล่น . ขนาดเล็กได้ ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
- ดังนั้น นี่จะเลือกทั้งตารางดังที่แสดงด้านล่าง
2. คัดลอกทั้งตาราง
ในวิธีนี้ เราจะแสดงวิธีการคัดลอกทั้งตาราง ต่อไปนี้เป็นชุดข้อมูลที่เราจะใช้เพื่อแสดงจุดอ้างอิงของเราในตารางด้วย Excel VBA
มาดูขั้นตอนต่อไปนี้เพื่อคัดลอกทั้งตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub copy_whole_Table()
ActiveSheet.ListObjects("Table_ref_18").Range.Copy
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น นี่จะเป็นการคัดลอกทั้งตารางดังที่แสดงด้านล่าง
3. การอ้างอิงคอลัมน์ของตาราง
ที่นี่ เราจะสาธิตวิธีการอ้างอิงตารางของคอลัมน์ ต่อไปนี้เป็นชุดข้อมูลที่เราจะใช้เพื่อแสดงจุดอ้างอิงของเราในตารางด้วย Excel VBA
มาดูขั้นตอนต่อไปนี้เพื่ออ้างถึงคอลัมน์ของตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub ReferenceEntireColumn()
ActiveSheet.ListObjects("Table_ref").ListColumns("Seller").Range.Select
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ เล่น . ขนาดเล็กได้ ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
- ดังนั้น สิ่งนี้จะเลือกทั้งคอลัมน์ของตารางดังที่แสดงด้านล่าง
4. รับค่าจากเซลล์จากตาราง
ในที่นี้ เราจะสาธิตวิธีรับค่าจากเซลล์จากตาราง เราได้จัดเตรียมชุดข้อมูลไว้ด้านล่างเพื่อจุดประสงค์ในการแสดงประเด็นของเรา
มาดูขั้นตอนต่อไปนี้เพื่อรับค่าจากเซลล์จากตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub get_Value()
Dim Table1 As ListObject
Set Table1 = ActiveSheet.ListObjects("Table_ref_2")
Set Value = Table1.DataBodyRange.Columns(1).Find("Sam", LookAt:=xlWhole)
MsgBox Value
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น นี่จะได้รับค่าจากเซลล์จากตารางดังที่แสดงด้านล่าง
5. การป้อนแถว
ตอนนี้ เราจะอธิบายวิธีการป้อนแถวใหม่ในตารางที่มีอยู่ เพื่อจุดประสงค์ในการสาธิต เราจะใช้ชุดข้อมูลต่อไปนี้
มาดูขั้นตอนต่อไปนี้เพื่อป้อนแถวใหม่ในตารางที่มีอยู่ใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Entering_row()
Dim Table1 As ListObject
Set Table1 = ActiveSheet.ListObjects("Table_ref_3")
Table1.ListRows.Add
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น นี่จะเป็นการป้อนแถวใหม่ในตารางที่มีอยู่ดังที่แสดงด้านล่าง
6. การเข้าสู่คอลัมน์
คอลัมน์ใหม่จะถูกเพิ่มลงในตารางที่มีอยู่ในการสาธิตต่อไปนี้ เพื่อจุดประสงค์ในการสาธิต เราจะใช้ชุดข้อมูลต่อไปนี้
มาดูขั้นตอนต่อไปนี้เพื่อป้อนคอลัมน์ใหม่ในตารางที่มีอยู่
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Entering_Column()
Dim Table1 As ListObject
Set Table1 = ActiveSheet.ListObjects("Table_ref_4")
Table1.ListColumns.Add
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น นี่จะเป็นการป้อนคอลัมน์ใหม่ในตารางที่มีอยู่ดังที่แสดงด้านล่าง
7. การกรองตาราง
ตัวอย่างต่อไปนี้สาธิตวิธีการกรองตารางใน Excel เราได้จัดเตรียมชุดข้อมูลไว้ด้านล่างเพื่อจุดประสงค์ในการแสดงประเด็นของเรา
มาดูขั้นตอนต่อไปนี้เพื่อกรองตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Select_AutoFiltered_VisibleRows_NewSheet()
ActiveSheet.ListObjects("Table_25").Range.AutoFilter _
Field:=2, Criteria1:="=Texas"
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น สิ่งนี้จะกรองตารางตามข้อความ “Texas” ดังที่แสดงด้านล่าง
8. การลบแถวและคอลัมน์ออกจากตาราง
เราจะสาธิตวิธีการลบแถวและคอลัมน์ออกจากตารางที่นี่ เราจะสาธิตประเด็นของเราโดยใช้ชุดข้อมูลต่อไปนี้
มาดูขั้นตอนต่อไปนี้เพื่อลบแถวและคอลัมน์ออกจากตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub delete_row_column()
ActiveSheet.ListObjects("Table_ref_9").ListRows(2).Delete
ActiveSheet.ListObjects("Table_ref_9").ListColumns(2).Delete
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น การดำเนินการนี้จะลบแถวและคอลัมน์ออกจากตารางดังที่แสดงด้านล่าง
9. การเลือกข้อมูลจากตารางที่ไม่มีส่วนหัวของคอลัมน์
ที่นี่ เราจะสาธิตวิธีการเลือกข้อมูลจากตารางที่ไม่มีส่วนหัวของคอลัมน์ ชุดข้อมูลมีลักษณะดังนี้:
มาดูขั้นตอนต่อไปนี้เพื่อเลือกข้อมูลจากตารางที่ไม่มีส่วนหัวของคอลัมน์ใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub ReferenceEntireColumnWithoutHeader()
ActiveSheet.ListObjects("Table_ref_6").ListColumns("Seller").DataBodyRange.Select
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น สิ่งนี้จะเลือกข้อมูลจากตารางที่ไม่มีส่วนหัวของคอลัมน์ดังที่แสดงด้านล่าง
10. การเลือกส่วนหัวของคอลัมน์
ในส่วนนี้ เราจะแสดงวิธีการเลือกส่วนหัวของคอลัมน์ เพื่อแสดงจุดของเรา เราได้จัดเตรียมชุดข้อมูลไว้ด้านล่าง
มาดูขั้นตอนต่อไปนี้เพื่อเลือกส่วนหัวของคอลัมน์ใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Selecting_Column_Header()
ActiveSheet.ListObjects("Table_ref_7").HeaderRowRange(4).Select
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น สิ่งนี้จะเลือกส่วนหัวของคอลัมน์ดังที่แสดงด้านล่าง
11. เลือกทั้งแถว
ที่นี่ เราจะสาธิตวิธีการเลือกทั้งแถว . ต่อไปนี้เป็นชุดข้อมูลที่เราจะใช้เพื่อแสดงให้เห็นถึงประเด็นของเรา
มาดูขั้นตอนต่อไปนี้เพื่อเลือกทั้งแถวใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Selecting_row_entire()
ActiveSheet.ListObjects("Table_ref_8").ListRows(3).Range.Select
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ เล่น . ขนาดเล็กได้ ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
- ดังนั้น นี่จะเลือกทั้งแถวดังที่แสดงด้านล่าง
12. ปรับขนาดช่วงของตาราง
ตอนนี้ เราจะอธิบายวิธีการปรับขนาดช่วงของตาราง เราได้จัดเตรียมชุดข้อมูลไว้ด้านล่างเพื่อจุดประสงค์ในการแสดงประเด็นของเรา
มาดูขั้นตอนต่อไปนี้เพื่อปรับขนาดช่วงของตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub resize()
Dim Table1 As ListObject
Set Table1 = ActiveSheet.ListObjects("Table_ref_5")
Dim Rng As Range
Set Rng = Range("B4:C8")
Table1.Resize Rng
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น สิ่งนี้จะปรับขนาดช่วงของตารางดังที่แสดงด้านล่าง
13. การเปลี่ยนรูปแบบตาราง
เราจะสาธิตวิธีการเปลี่ยนรูปแบบของตารางที่นี่ ต่อไปนี้เป็นชุดข้อมูลที่เราจะใช้เพื่อแสดงจุดอ้างอิงของเราในตารางด้วย Excel VBA
มาดูขั้นตอนต่อไปนี้เพื่อเปลี่ยนสไตล์ตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub ChangingTable1_Style()
ActiveSheet.ListObjects("Table_ref_12").TableStyle = "TableStyleLight15"
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น สิ่งนี้จะเปลี่ยนรูปแบบตารางดังที่แสดงด้านล่าง
14. ตั้งค่ารูปแบบตารางเริ่มต้น
สไตล์ตารางเริ่มต้นจะแสดงที่นี่ ต่อไปนี้เป็นชุดข้อมูลที่เราจะใช้เพื่อแสดงจุดอ้างอิงของเราในตารางด้วย Excel VBA
มาดูขั้นตอนต่อไปนี้เพื่อตั้งค่าสไตล์ตารางเริ่มต้นใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Setting_Default_Table1_Style()
ActiveWorkbook.DefaultTableStyle = "TableStyleMedium2"
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ เล่น . ขนาดเล็กได้ ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
- ดังนั้น สิ่งนี้จะกำหนดรูปแบบตารางเริ่มต้นดังที่แสดงด้านล่าง
15. วนซ้ำทุกเซลล์ในตาราง
ในตัวอย่างนี้ เราจะแสดงวิธีการวนซ้ำทุกเซลล์ในตาราง ในการวนซ้ำแต่ละแถวของตารางด้วย VBA ให้ใช้ ListRows.Count คุณสมบัติ. เพื่อจุดประสงค์ในการแสดงจุดอ้างอิงของเราในตารางด้วย Excel VBA เราได้จัดเตรียมชุดข้อมูลไว้ด้านล่าง
มาดูขั้นตอนต่อไปนี้เพื่อวนซ้ำทุกเซลล์ในตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Loopingthrough()
Dim Table1 As ListObject
Set Table1 = ActiveSheet.ListObjects("Table_ref_14")
For i = 1 To Table1.ListRows.Count
Table1.ListRows(i).Range.Select
Next i
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ เล่น . ขนาดเล็กได้ ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
- ดังนั้น การดำเนินการนี้จะวนซ้ำทุกเซลล์ในตารางดังที่แสดงด้านล่าง
16. ทำให้มองเห็นส่วนหัวของตาราง
ตอนนี้ เราจะอธิบายวิธีทำให้ส่วนหัวของตารางมองเห็นได้ เพื่อจุดประสงค์ในการแสดงจุดอ้างอิงในตารางด้วย Excel VBA เราได้จัดเตรียมชุดข้อมูลไว้ด้านล่าง
มาดูขั้นตอนต่อไปนี้เพื่อทำให้ส่วนหัวของตารางปรากฏใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย หากต้องการเปิดหน้าต่าง VBA ให้ไปที่ นักพัฒนา แท็บบนริบบิ้นของคุณ จากนั้นเลือก Visual Basic จาก รหัส กลุ่ม
- โมดูล VBA เก็บโค้ดไว้ใน Visual Basic Editor มีนามสกุลไฟล์ a.bcf เราสามารถสร้างหรือแก้ไขได้อย่างง่ายดายผ่านหน้าต่างตัวแก้ไข VBA ในการแทรกโมดูลสำหรับโค้ด ไปที่ แทรก แท็บในตัวแก้ไข VBA จากนั้นคลิกที่ โมดูล จากเมนูแบบเลื่อนลง
- ด้วยเหตุนี้ โมดูลใหม่จะถูกสร้างขึ้น ตอนนี้เลือกโมดูลหากยังไม่ได้เลือก จากนั้นเขียนโค้ดต่อไปนี้ลงไป
Sub Table_header_visible()
ActiveSheet.ListObjects("Table_ref_15").ShowHeaders = True
End Sub
- ถัดไป บันทึกโค้ด
- ตอนนี้ กด F5 บนแป้นพิมพ์ของคุณ หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็กในแถบเมนูย่อยเพื่อเรียกใช้มาโครได้
- ดังนั้น สิ่งนี้จะทำให้ส่วนหัวของตารางมองเห็นได้ดังที่แสดงด้านล่าง
17. การนับแถวและคอลัมน์
ขั้นตอนต่อไปคือการสาธิตวิธีการนับแถวและคอลัมน์จากตาราง ต่อไปนี้เป็นชุดข้อมูลที่เราจะใช้เพื่อแสดงให้เห็นถึงประเด็นของเรา
มาดูขั้นตอนต่อไปนี้เพื่อนับแถวและคอลัมน์จากตารางใน Excel
📌 ขั้นตอน:
- VBA มีหน้าต่างแยกต่างหากสำหรับใช้งาน คุณต้องใส่รหัสในหน้าต่างนี้ด้วย To open the VBA window, go to the Developer tab on your ribbon. Then select Visual Basic from the Code กลุ่ม
- VBA modules hold the code in the Visual Basic Editor. It has a.bcf file extension. We can create or edit one easily through the VBA editor window. To insert a module for the code, go to the Insert tab on the VBA editor. Then click on Module from the drop-down.
- As a result, a new module will be created. Now select the module if it isn’t already selected. Then write down the following code in it.
Sub counting_rows_columns()
rowNumber = ActiveSheet.ListObjects("Table_ref_16").ListRows.Count
columnNumber = ActiveSheet.ListObjects("Table_ref_16").ListColumns.Count
MsgBox "Number of Rows: " & rowNumber & vbCrLf & _
"Number of Columns: " & columnNumber
End Sub
- Next, save the code.
- Now, press F5 on your keyboard, or from the menu bar select Run -> Run Sub/UserForm . You can also just click on the small Play icon in the sub-menu bar to run the macro.
- Therefore, this will count rows from a table as shown below.
- This will count rows from a table as shown below.
18. Check If There Is Any Table in Worksheet
Here, we will demonstrate how to check if there is any table in the worksheet. For the purpose of demonstrating our point to reference a table with Excel VBA, we have provided a dataset below.
Let’s walk through the following steps to check if there is any table in the worksheet in Excel.
📌 ขั้นตอน:
- VBA has its own separate window to work with. You have to insert the code in this window too. To open the VBA window, go to the Developer tab on your ribbon. Then select Visual Basic from the Code กลุ่ม
- VBA modules hold the code in the Visual Basic Editor. It has a.bcf file extension. We can create or edit one easily through the VBA editor window. To insert a module for the code, go to the Insert tab on the VBA editor. Then click on Module from the drop-down.
- As a result, a new module will be created. Now select the module if it isn’t already selected. Then write down the following code in it.
Sub Checking_If1_Table1_Exists()
Dim ws1 As Worksheet
Dim tbl1 As ListObject
Dim tbl1Name As String
Dim tbl1Exists As Boolean
tbl1Name = "Table_ref_17"
For Each ws1 In ActiveWorkbook.Worksheets
For Each tbl1 In ws1.ListObjects
If tbl1.Name = tb1lName Then
tb1lExists = True
End If
Next tbl1
Next ws1
If tbl1Exists = True Then
MsgBox "Table " & tb1lName & " Doesn’t Exists."
Else
MsgBox "Table " & tbl1Name & " Exists."
End If
End Sub
- Next, save the code.
- Now, press F5 on your keyboard, or from the menu bar select Run -> Run Sub/UserForm . You can also just click on the small Play icon in the sub-menu bar to run the macro.
- Therefore, this will check if there is any table in the worksheet as shown below.
19. Convert a Table to Normal Range
Here is an example of how a table can be converted into a normal range. Following is a dataset that we will use to demonstrate our point to reference a table with Excel VBA.
Let’s walk through the following steps to convert a table to a normal range in Excel.
📌 ขั้นตอน:
- VBA has its own separate window to work with. You have to insert the code in this window too. To open the VBA window, go to the Developer tab on your ribbon. Then select Visual Basic from the Code กลุ่ม
- VBA modules hold the code in the Visual Basic Editor. It has a.bcf file extension. We can create or edit one easily through the VBA editor window. To insert a module for the code, go to the Insert tab on the VBA editor. Then click on Module from the drop-down.
- As a result, a new module will be created. Now select the module if it isn’t already selected. Then write down the following code in it.
Sub Converting_Table1_To_NormalRange()
ActiveSheet.ListObjects("Table_ref_11").Unlist
End Sub
- Next, save the code.
- Now, press F5 on your keyboard, or from the menu bar select Run -> Run Sub/UserForm . You can also just click on the small Play icon in the sub-menu bar to run the macro.
- Therefore, this will convert a table to a normal range as shown below.
20. Delete a Table
Here, we will demonstrate how to delete a table. Following is a dataset that we will use to demonstrate our point to reference a table with Excel VBA.
Let’s walk through the following steps to delete a table in Excel with VBA code.
📌 ขั้นตอน:
- VBA has its own separate window to work with. You have to insert the code in this window too. To open the VBA window, go to the Developer tab on your ribbon. Then select Visual Basic from the Code กลุ่ม
- VBA modules hold the code in the Visual Basic Editor. It has a.bcf file extension. We can create or edit one easily through the VBA editor window. To insert a module for the code, go to the Insert tab on the VBA editor. Then click on Module from the drop-down.
- As a result, a new module will be created. Now select the module if it isn’t already selected. Then write down the following code in it.
Sub delete_table_entire()
Dim Table1 As ListObject
Set Table1 = ActiveSheet.ListObjects("Table_ref_10")
Table1.Delete
End Sub
- Next, save the code.
- Now, press F5 on your keyboard, or from the menu bar select Run -> Run Sub/UserForm . You can also just click on the small Play icon in the sub-menu bar to run the macro.
- Therefore, this will delete a table as shown below.
บทสรุป
That’s the end of today’s session. I strongly believe that from now, you may be able to reference a table with Excel VBA. If you have any queries or recommendations, please share them in the comments section below.
Don’t forget to check our website Exceldemy.com for various Excel-related problems and solutions. Keep learning new methods and keep growing!
Read More…
Changing Case using Worksheet Functions and Excel VBA
[8 Tips] How to Make Excel Tables Look Good!