วิธีการใช้ฟังก์ชันผลรวมย่อยใน 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: วิธีนับจำนวนแถวในช่วง

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *