เซลล์สะสม (สะสม)

เนื้อหา

บ่อยครั้งที่สถานการณ์เกิดขึ้นเมื่อเราต้องการสรุป (สะสม) ค่าหลายค่าที่ป้อนตามลำดับในเซลล์เดียว:

เหล่านั้น. ตัวอย่างเช่น หากคุณป้อนหมายเลข 1 ในเซลล์ A5 ตัวเลข 1 ควรปรากฏใน B15 หากคุณป้อนหมายเลข 1 ใน A7 แล้ว 1 ควรปรากฏในเซลล์ B22 เป็นต้น โดยทั่วไป สิ่งที่นักบัญชี (และไม่ใช่แค่พวกเขา) เรียกว่ายอดรวม

คุณสามารถใช้ตัวสะสมเซลล์จัดเก็บข้อมูลได้โดยใช้มาโครอย่างง่าย คลิกขวาที่แท็บแผ่นงานที่มีเซลล์ A1 และ B1 และเลือกจากเมนูบริบท ข้อความที่มา (รหัสแหล่งที่มา). ในหน้าต่างตัวแก้ไข Visual Basic ที่เปิดขึ้น ให้คัดลอกและวางโค้ดแมโครอย่างง่าย:

Private Sub Worksheet_Change (ByVal Target As Excel.Range) โดยมีเป้าหมาย If .Address(False, False) = "A1" ถ้า IsNumeric(.Value) แล้ว Application.EnableEvents = False Range("A2")).Value = Range(" A2") .Value + .Value Application.EnableEvents = True End If End If End With End Sub  

ที่อยู่ของเซลล์ A1 และ A2 สามารถแทนที่ด้วยของคุณเองได้

หากคุณต้องการติดตามการป้อนข้อมูลและสรุปไม่ใช่แต่ละเซลล์ แต่เป็นช่วงทั้งหมด มาโครจะต้องเปลี่ยนแปลงเล็กน้อย:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) ถ้าไม่ตัดกัน (Target, Range("A1:A10")) ก็ไม่มีอะไร ถ้า IsNumeric(Target.Value) แล้ว Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

สันนิษฐานว่ามีการป้อนข้อมูลในเซลล์ของช่วง A1:A10 และตัวเลขที่ป้อนจะถูกรวมไว้ในคอลัมน์ที่อยู่ติดกันทางด้านขวา หากในกรณีของคุณไม่ได้อยู่ติดกัน ให้เพิ่มการเลื่อนไปทางขวาในตัวดำเนินการออฟเซ็ต - แทนที่ 1 ด้วยตัวเลขที่มากขึ้น

  • มาโครคืออะไร จะแทรกโค้ดแมโครใน VBA ได้อย่างไร จะใช้งานอย่างไร

เขียนความเห็น