ເຊລສະສົມ (ສະສົມ)

ເນື້ອໃນ

ຂ້ອນຂ້າງເລື້ອຍໆ, ສະຖານະການເກີດຂື້ນເມື່ອພວກເຮົາຕ້ອງການສະຫຼຸບ (ສະສົມ) ຄ່າຫຼາຍອັນຕາມລໍາດັບເຂົ້າໄປໃນຫນຶ່ງເຊນ:

ເຫຼົ່ານັ້ນ. ສໍາລັບຕົວຢ່າງ, ທ່ານໃສ່ຫມາຍເລກ 1 ໃນເຊນ A5, ຫຼັງຈາກນັ້ນຫມາຍເລກ 1 ຄວນປາກົດຢູ່ໃນ B15. ຖ້າທ່ານຫຼັງຈາກນັ້ນໃສ່ຕົວເລກ 1 ໃນ A7, ຫຼັງຈາກນັ້ນ 1 ຄວນປາກົດຢູ່ໃນເຊນ B22, ແລະອື່ນໆ. ໂດຍທົ່ວໄປ, ສິ່ງທີ່ນັກບັນຊີ (ແລະບໍ່ພຽງແຕ່ພວກເຂົາ) ເອີ້ນວ່າຈໍານວນສະສົມ.

ທ່ານ​ສາ​ມາດ​ປະ​ຕິ​ບັດ​ດັ່ງ​ກ່າວ​ສະ​ສົມ​ເຊ​ລ​ການ​ເກັບ​ຮັກ​ສາ​ໂດຍ​ການ​ນໍາ​ໃຊ້​ມະ​ຫາ​ພາກ​ງ່າຍ​ດາຍ​. ຄລິກຂວາໃສ່ແຖບຊີດບ່ອນທີ່ຕາລາງ A1 ແລະ B1 ຕັ້ງຢູ່ ແລະເລືອກຈາກເມນູບໍລິບົດ ແຫຼ່ງຂໍ້ຄວາມ (ລະຫັດແຫຼ່ງ). ໃນປ່ອງຢ້ຽມບັນນາທິການ Visual Basic ທີ່ເປີດ, ຄັດລອກແລະວາງລະຫັດມະຫາພາກທີ່ງ່າຍດາຍ:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) ກັບເປົ້າໝາຍຖ້າ .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, ແນ່ນອນ, ສາມາດຖືກແທນທີ່ດ້ວຍຕົວຂອງທ່ານເອງ.

ຖ້າທ່ານຕ້ອງການຕິດຕາມການປ້ອນຂໍ້ມູນແລະສະຫຼຸບບໍ່ແມ່ນແຕ່ລະຈຸລັງ, ແຕ່ຂອບເຂດທັງຫມົດ, ຫຼັງຈາກນັ້ນ macro ຈະຕ້ອງມີການປ່ຽນແປງເລັກນ້ອຍ:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) ຖ້າບໍ່ແມ່ນ Intersect(Target, Range("A1:A10"))) ບໍ່ມີຫຍັງເລີຍຖ້າ IsNumeric(Target.Value) ຫຼັງຈາກນັ້ນ Application.EnableEvents = False Target.Offset(0) .Value = Target.Offset(1, 0).Value + Target.Value Application.EnableEvents = True End ຖ້າ End ຖ້າ End Sub  

ສົມມຸດວ່າຂໍ້ມູນຖືກໃສ່ຢູ່ໃນເຊລຂອງຊ່ວງ A1:A10, ແລະຕົວເລກທີ່ປ້ອນເຂົ້າຈະຖືກສະຫຼຸບຢູ່ໃນຖັນທີ່ຢູ່ຕິດກັນຢູ່ເບື້ອງຂວາ. ຖ້າໃນກໍລະນີຂອງທ່ານມັນບໍ່ຕິດກັນ, ຫຼັງຈາກນັ້ນໃຫ້ເພີ່ມການປ່ຽນໄປທາງຂວາໃນຕົວປະຕິບັດການ Offset - ແທນທີ່ 1 ດ້ວຍຕົວເລກທີ່ໃຫຍ່ກວ່າ.

  • macros ແມ່ນຫຍັງ, ບ່ອນທີ່ຈະໃສ່ລະຫັດ macro ໃນ VBA, ວິທີການນໍາໃຊ້ພວກມັນ?

ອອກຈາກ Reply ເປັນ