คุณสามารถบรรลุสิ่งที่คุณต้องการโดยใช้การเขียนโปรแกรม VBA ในค่าเริ่มต้นของเวิร์กชีทชื่อ Say Sheet1 คุณได้พูดเซลล์ A1 ที่จะถูกเขียนทับทุกเดือนและเซลล์ B1 เป็นตำแหน่งที่คุณต้องการดูยอดรวมสะสม
คลิกขวาที่ Sheet1 และคลิก View Code หรือกด ALT + F11 แล้วดับเบิลคลิกที่ Sheet1 ทางบานหน้าต่างด้านซ้ายภายใต้โครงการ VBA
หน้าต่างรหัส VBA ว่างเปล่าจะเปิดขึ้น ใส่รหัสต่อไปนี้
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A1")
If Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Else
If IsNumeric(Range("A1").Value) Then
Range("B1").Value = Range("B1").Value + Range("A1").Value
Else
End If
End If
End Sub
บันทึกและออก. บันทึกสมุดงานเป็น filename.xlsm เช่นสมุดงานที่เปิดใช้งานแมโคร ตอนนี้เมื่อคุณเขียนทับค่าในเซลล์ A1 มันจะถูกเพิ่มเข้าไปใน B1 ตรวจสอบให้แน่ใจว่าคุณอัปเดต A1 เฉพาะเมื่อตั้งใจไว้เท่านั้นและจะเพิ่มไว้ใน B1 ต่อไป ไม่มีการตรวจสอบความถูกต้องในรหัสนี้ที่ A1 ควรได้รับการอัพเดตเดือนละครั้งเท่านั้น! เพียงตรวจสอบเบื้องต้นว่า A1 ควรเป็นตัวเลขเพื่อป้องกันข้อผิดพลาดในขณะทำงาน
การอ้างอิงเพิ่มเติมhttps://support.microsoft.com/en-in/help/213612/how-to-run-a-macro-when-certain-cells-change-in-excel