วิธีนับแถวในตารางโดยใช้ vba (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อนับจำนวนแถวในตารางใน Excel โดยใช้ VBA:
SubCountTableRow ()
Dim tbl As ListObject
'specify table to count rows in
Set tbl = ActiveSheet.ListObjects(" Table1 ")
'create message box that displays row count
MsgBox " Total Rows: " & tbl.Range.Rows.Count & vbNewLine & _
" Header Rows: " & tbl.HeaderRowRange.Rows.Count & vbNewLine & _
" Body Rows: " & tbl.ListRows.Count
'set tbl variable to Nothing
Set tbl = Nothing
End Sub
ตัวอย่างนี้นับจำนวนแถวต่อไปนี้สำหรับตารางบนแผ่นงานที่ใช้งานเรียกว่า Table1 :
- จำนวนบรรทัดทั้งหมด
- จำนวนบรรทัดส่วนหัวทั้งหมด
- จำนวนเส้นลำตัวทั้งหมด
เราใช้ฟังก์ชัน MsgBox เพื่อสร้างกล่องข้อความที่แสดงแต่ละค่าเหล่านี้ในกล่องข้อความเดียว
หมายเหตุ : เราใช้คำสั่ง vbNewLine เพื่อแทรกบรรทัดใหม่และสร้างกล่องข้อความที่มีหลายบรรทัด
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีนับแถวในตารางโดยใช้ VBA
สมมติว่าเรามีตารางต่อไปนี้เรียกว่า Table1 ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
เราสามารถสร้างมาโครต่อไปนี้เพื่อนับจำนวนแถวในตารางนี้:
SubCountTableRow ()
Dim tbl As ListObject
'specify table to count rows in
Set tbl = ActiveSheet.ListObjects(" Table1 ")
'create message box that displays row count
MsgBox " Total Rows: " & tbl.Range.Rows.Count & vbNewLine & _
" Header Rows: " & tbl.HeaderRowRange.Rows.Count & vbNewLine & _
" Body Rows: " & tbl.ListRows.Count
'set tbl variable to Nothing
Set tbl = Nothing
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
กล่องข้อความบอกเราว่ามีทั้งหมด 10 แถวในตาราง
นอกจากนี้ยังบอกเราว่ามี 1 แถวส่วนหัวและ 9 แถวเนื้อหา
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
วิธีนับค่าที่ไม่ซ้ำในช่วงโดยใช้ VBA
วิธีนับจำนวนแถวในช่วงโดยใช้ VBA
วิธีนับเซลล์ด้วยข้อความเฉพาะโดยใช้ VBA