วิธีการใช้ฟังก์ชันผลรวมย่อยใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน SUBTOTAL ใน Excel เพื่อคำนวณสถิติโดยรวมสำหรับเซลล์ที่มองเห็นได้บนแผ่นงานเท่านั้น
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน VBA เพื่อใช้ฟังก์ชัน SUBTOTAL:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
ตัวอย่างนี้จะคำนวณผลรวมของค่าในเซลล์ที่มองเห็นได้ในช่วง B2:B11 และแสดงผลลัพธ์ในเซลล์ A16 .
โปรดทราบว่าอาร์กิวเมนต์แรกของวิธี Subtotal ระบุวิธีการรวมที่จะใช้โดยที่:
- 1 : ปานกลาง
- 2 : บัญชี
- 3 : บัญชี
- 4 : สูงสุด
- 5 : ขั้นต่ำ
- 6 : สินค้า
- 7 : STDEV
- 8 : STDEVP
- 9 : ผลรวม
- 10 : วีเออาร์
- 11 : วาร์ป
ตัวอย่างต่อไปนี้แสดงวิธีการใช้วิธี Subtotal ใน VBA ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ผลรวมย่อยใน VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
ตอนนี้ สมมติว่าเราใช้ตัวกรองเพื่อแสดงเฉพาะแถวที่ทีมเท่ากับ A หรือ C:
เราสามารถสร้างมาโครต่อไปนี้เพื่อคำนวณผลรวมของเซลล์ที่มองเห็นได้ในคอลัมน์จุดและแสดงผลลัพธ์ในเซลล์ A16 :
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดสังเกตว่าเซลล์ A16 มีค่า 168
นี่บอกเราว่าผลรวมของเซลล์ที่เห็นในคอลัมน์จุดคือ 168
นอกจากนี้เรายังสามารถเปลี่ยนค่าของอาร์กิวเมนต์แรกของวิธี Subtotal เพื่อคำนวณเมตริกอื่นได้
ตัวอย่างเช่น เราสามารถใช้ค่า 1 เพื่อคำนวณค่าเฉลี่ยของเซลล์ที่มองเห็นได้ในคอลัมน์จุดแทน:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดสังเกตว่าเซลล์ A16 มีค่า 24
นี่บอกเราว่าค่าเฉลี่ยของเซลล์ที่มองเห็นได้ในคอลัมน์จุดคือ 24
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA Subtotal ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีเพิ่มค่าในช่วง
VBA: วิธีคำนวณค่าเฉลี่ยของช่วง
VBA: วิธีนับจำนวนแถวในช่วง