ສຳເນົາຜົນລວມຂອງຕາລາງທີ່ເລືອກໄປໃສ່ຄລິບບອດ

ບາງຄັ້ງມັນໃຊ້ເວລາຫຼາຍທີ່ຈະເກີດຂຶ້ນກັບບາງສິ່ງບາງຢ່າງ. ແຕ່ເມື່ອພວກເຂົາໄດ້ຮັບການປະດິດແລ້ວ, ຫຼັງຈາກຄວາມເປັນຈິງແລ້ວພວກເຂົາເບິ່ງຄືວ່າຈະແຈ້ງແລະແມ້ກະທັ້ງ banal. ຈາກຊຸດ "ແມ່ນຫຍັງ, ມັນເປັນໄປໄດ້?".

ຈາກລຸ້ນທຳອິດ, ແຖບສະຖານະຢູ່ລຸ່ມສຸດຂອງໜ້າຕ່າງ Microsoft Excel ຕາມປະເພນີຈະສະແດງຈຳນວນທັງໝົດສຳລັບເຊວທີ່ເລືອກ:

ສຳເນົາຜົນລວມຂອງຕາລາງທີ່ເລືອກໄປໃສ່ຄລິບບອດ

ຖ້າຕ້ອງການ, ມັນກໍ່ເປັນໄປໄດ້ທີ່ຈະຄລິກຂວາໃສ່ຜົນໄດ້ຮັບເຫຼົ່ານີ້ແລະເລືອກຈາກເມນູສະພາບການທີ່ຫນ້າທີ່ພວກເຮົາຕ້ອງການເບິ່ງ:

ສຳເນົາຜົນລວມຂອງຕາລາງທີ່ເລືອກໄປໃສ່ຄລິບບອດ

ແລະບໍ່ດົນມານີ້, ໃນການປັບປຸງ Excel ຫຼ້າສຸດ, ຜູ້ພັດທະນາ Microsoft ໄດ້ເພີ່ມຄຸນສົມບັດທີ່ງ່າຍດາຍແຕ່ ingenious - ໃນປັດຈຸບັນເມື່ອທ່ານຄລິກໃສ່ຜົນໄດ້ຮັບເຫຼົ່ານີ້, ພວກມັນຈະຖືກຄັດລອກໃສ່ clipboard!

ສຳເນົາຜົນລວມຂອງຕາລາງທີ່ເລືອກໄປໃສ່ຄລິບບອດ

ຄວາມງາມ. 

ແຕ່ສິ່ງທີ່ກ່ຽວກັບຜູ້ທີ່ຍັງບໍ່ທັນ (ຫຼືແລ້ວ?) ມີສະບັບຂອງ Excel ດັ່ງກ່າວ? ນີ້ແມ່ນບ່ອນທີ່ macro ງ່າຍດາຍສາມາດຊ່ວຍໄດ້.

ສຳເນົາຜົນລວມຂອງຕາລາງທີ່ເລືອກໃສ່ Clipboard ໂດຍໃຊ້ macro

ເປີດໃນແຖບ ການພັດທະນາ (ຜູ້ພັດທະນາ) ບັນນາທິການ Visual Basic ຫຼືໃຊ້ທາງລັດແປ້ນພິມນີ້ alt+F11. ໃສ່ໂມດູນເປົ່າໃຫມ່ຜ່ານເມນູ ໃສ່ - ໂມດູນ ແລະສຳເນົາລະຫັດຕໍ່ໄປນີ້ຢູ່ທີ່ນັ້ນ:

Sub SumSelected() ຖ້າ TypeName(Selection) <> "Range" ຫຼັງຈາກນັ້ນອອກຈາກ Sub ດ້ວຍ GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}").SetText WorksheetFunction.Sum(Selection) .Put End board  

ເຫດຜົນຂອງມັນແມ່ນງ່າຍດາຍ:

  • ກ່ອນອື່ນ ໝົດ ແມ່ນ "ການປົກປ້ອງຈາກຄົນໂງ່" - ພວກເຮົາກວດເບິ່ງສິ່ງທີ່ຖືກເນັ້ນໃສ່. ຖ້າບໍ່ແມ່ນເຊລຖືກເລືອກ (ແຕ່, ຕົວຢ່າງ, ຕາຕະລາງ), ຫຼັງຈາກນັ້ນອອກຈາກມະຫາພາກ.
  • ຫຼັງຈາກນັ້ນ, ການນໍາໃຊ້ຄໍາສັ່ງ ຈຸດປະສົງ ພວກ​ເຮົາ​ສ້າງ​ວັດ​ຖຸ​ຂໍ້​ມູນ​ໃຫມ່​ທີ່​ຜົນ​ລວມ​ຂອງ​ເຊ​ລ​ທີ່​ເລືອກ​ຂອງ​ພວກ​ເຮົາ​ຈະ​ໄດ້​ຮັບ​ການ​ເກັບ​ຮັກ​ສາ​ໄວ້​ພາຍ​ຫຼັງ​. ໃນຄວາມເປັນຈິງ, ລະຫັດຕົວເລກທີ່ຍາວນານແລະບໍ່ສາມາດເຂົ້າໃຈໄດ້ແມ່ນການເຊື່ອມຕໍ່ກັບສາຂາການລົງທະບຽນ Windows ບ່ອນທີ່ຫ້ອງສະຫມຸດຕັ້ງຢູ່. Microsoft Forms 2.0 Object Library, ຊຶ່ງສາມາດສ້າງວັດຖຸດັ່ງກ່າວ. ບາງຄັ້ງ trick ນີ້ຍັງເອີ້ນວ່າ ການຜູກມັດຊ້າ implicit. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ບໍ່​ໄດ້​ນໍາ​ໃຊ້​ມັນ​, ຫຼັງ​ຈາກ​ນັ້ນ​ທ່ານ​ຈະ​ຕ້ອງ​ເຮັດ​ໃຫ້​ການ​ເຊື່ອມ​ຕໍ່​ກັບ​ຫ້ອງ​ສະ​ຫມຸດ​ນີ້​ໃນ​ໄຟລ​໌​ໂດຍ​ຜ່ານ​ເມ​ນູ​ ເຄື່ອງມື - ເອກະສານອ້າງອີງ.
  • ຜົນລວມຂອງຕາລາງທີ່ເລືອກແມ່ນຖືວ່າເປັນຄໍາສັ່ງ WorksheetFunction.Sum(ການເລືອກ), ແລະຫຼັງຈາກນັ້ນຈໍານວນຜົນໄດ້ຮັບແມ່ນຖືກຈັດໃສ່ໃນ clipboard ດ້ວຍຄໍາສັ່ງ PutInClipboard

ເພື່ອຄວາມສະດວກໃນການນໍາໃຊ້, ແນ່ນອນ, ທ່ານສາມາດກໍານົດ macro ນີ້ໃຫ້ກັບທາງລັດແປ້ນພິມໂດຍໃຊ້ປຸ່ມ ມາໂຄຣ ແຖບ ການພັດທະນາ (ຜູ້​ພັດ​ທະ​ນາ — Macros​).

ແລະຖ້າທ່ານຕ້ອງການເບິ່ງສິ່ງທີ່ຖືກຄັດລອກຫຼັງຈາກແລ່ນ macro, ທ່ານສາມາດເປີດກະດານ Clipboard ໂດຍໃຊ້ລູກສອນນ້ອຍໆຢູ່ມຸມຂວາລຸ່ມຂອງກຸ່ມທີ່ສອດຄ້ອງກັນ. ການຕົ້ນຕໍ (ໜ້າ ທຳ ອິດ) tab:

ສຳເນົາຜົນລວມຂອງຕາລາງທີ່ເລືອກໄປໃສ່ຄລິບບອດ

ບໍ່ພຽງແຕ່ຈໍານວນເທົ່ານັ້ນ

ຖ້າຫາກວ່າ, ນອກເຫນືອໄປຈາກຈໍານວນ banal, ທ່ານຕ້ອງການບາງສິ່ງບາງຢ່າງອື່ນ, ຫຼັງຈາກນັ້ນທ່ານສາມາດນໍາໃຊ້ຫນ້າທີ່ໃດຫນຶ່ງທີ່ວັດຖຸສະຫນອງໃຫ້ພວກເຮົາ. ໜ້າວຽກ:

ສຳເນົາຜົນລວມຂອງຕາລາງທີ່ເລືອກໄປໃສ່ຄລິບບອດ

ຕົວຢ່າງ, ມີ:

  • ລວມ – ຜົນ​ລວມ​
  • ສະເລ່ຍ – ຄ່າສະເລ່ຍເລກເລກ
  • ນັບ – ຈໍານວນຂອງຈຸລັງທີ່ມີຕົວເລກ
  • CountA – ຈໍາ​ນວນ​ຂອງ​ເຊ​ລ​ທີ່​ເຕັມ​ໄປ​
  • CountBlank – ຈໍານວນຕາລາງຫວ່າງເປົ່າ
  • ຕ່ຳສຸດ – ຄ່າຕໍ່າສຸດ
  • ສູງສຸດ – ຄ່າສູງສຸດ
  • ປານກາງ – ປານກາງ (ຄ່າກາງ)
  • …ແລະອື່ນໆ

ລວມທັງຕົວກອງ ແລະຖັນແຖວທີ່ເຊື່ອງໄວ້

ຈະເປັນແນວໃດຖ້າແຖວຫຼືຖັນຖືກເຊື່ອງໄວ້ (ດ້ວຍຕົນເອງຫຼືໂດຍການກັ່ນຕອງ) ໃນໄລຍະທີ່ເລືອກ? ເພື່ອບໍ່ໃຫ້ພວກມັນເຂົ້າໄປໃນບັນຊີທັງຫມົດ, ພວກເຮົາຈະຕ້ອງດັດແປງລະຫັດຂອງພວກເຮົາເລັກນ້ອຍໂດຍການເພີ່ມໃສ່ວັດຖຸ. ການຄັດເລືອກ ຄຸນສົມບັດ ເຊລພິເສດ(xlCellTypeVisible):

Sub SumVisible() ຖ້າ TypeName(Selection) <> "Range" ຫຼັງຈາກນັ້ນອອກຈາກ Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}").SetText WorksheetFunction.Sum(Selection.SpecialCells). PutInClipboard ສິ້ນສຸດດ້ວຍ End Sub  

ໃນ​ກໍ​ລະ​ນີ​ນີ້​, ການ​ຄິດ​ໄລ່​ຂອງ​ຫນ້າ​ທີ່​ທັງ​ຫມົດ​ໃດ​ຫນຶ່ງ​ຈະ​ຖືກ​ນໍາ​ໃຊ້​ກັບ​ເຊ​ລ​ທີ່​ສັງ​ເກດ​ເຫັນ​ເທົ່າ​ນັ້ນ​.

ຖ້າທ່ານຕ້ອງການສູດດໍາລົງຊີວິດ

ຖ້າທ່ານຝັນເຖິງ, ທ່ານສາມາດເກີດຂື້ນກັບສະຖານະການໃນເວລາທີ່ມັນດີກວ່າທີ່ຈະຄັດລອກບໍ່ແມ່ນຕົວເລກ (ຄົງທີ່), ແຕ່ສູດການດໍາລົງຊີວິດເຂົ້າໄປໃນ buffer, ເຊິ່ງຄິດໄລ່ຈໍານວນທັງຫມົດທີ່ພວກເຮົາຕ້ອງການສໍາລັບຈຸລັງທີ່ເລືອກ. ໃນກໍລະນີນີ້, ທ່ານຈະຕ້ອງກາວສູດຈາກຊິ້ນສ່ວນ, ເພີ່ມການກໍາຈັດເຄື່ອງຫມາຍເງິນໂດລາແລະແທນທີ່ເຄື່ອງໝາຍຈຸດ (ເຊິ່ງໃຊ້ເປັນຕົວແຍກລະຫວ່າງທີ່ຢູ່ຂອງຫຼາຍໆຊ່ວງທີ່ເລືອກໃນ VBA) ດ້ວຍເຄື່ອງໝາຍຈຸດ:

Sub SumFormula() ຖ້າ TypeName(Selection) <> "Range" ຫຼັງຈາກນັ້ນອອກຈາກ Sub ດ້ວຍ GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(" & Replacection.Replace. ທີ່ຢູ່ ",", ";"), "$", "") & ")".PutInClipboard End With End Sub  

ສະຫຼຸບດ້ວຍເງື່ອນໄຂເພີ່ມເຕີມ

ແລະ, ສຸດທ້າຍ, ສໍາລັບ maniacs ຢ່າງສົມບູນ, ທ່ານສາມາດຂຽນມະຫາພາກທີ່ຈະສະຫຼຸບເຖິງບໍ່ແມ່ນຈຸລັງທີ່ເລືອກທັງຫມົດ, ແຕ່ວ່າພຽງແຕ່ຜູ້ທີ່ຕອບສະຫນອງເງື່ອນໄຂທີ່ໃຫ້. ດັ່ງນັ້ນ, ສໍາລັບການຍົກຕົວຢ່າງ, macro ຈະມີລັກສະນະທີ່ເອົາຜົນລວມຂອງຈຸລັງທີ່ເລືອກເຂົ້າໄປໃນ Buffer, ຖ້າຄ່າຂອງພວກມັນໃຫຍ່ກວ່າ 5 ແລະໃນເວລາດຽວກັນພວກມັນເຕັມໄປດ້ວຍສີໃດກໍ່ຕາມ:

 Sub CustomCalc() Dim myRange As Range ຖ້າ TypeName(Selection) <> "Range" ຫຼັງຈາກນັ້ນອອກຈາກ Sub ສໍາລັບແຕ່ລະ cell ໃນການເລືອກ ຖ້າ cell.Value > 5 ແລະ cell.Interior.ColorIndex <> xlNone ຫຼັງຈາກນັ້ນຖ້າ myRange ບໍ່ມີຫຍັງແລ້ວຕັ້ງ myRange = cell Else Set myRange = Union(myRange, cell) End If End If Next Cell With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}").SetText WorksheetFunction.Sum(myRange).PutInClip.  

ຕາມທີ່ທ່ານສາມາດຈິນຕະນາການໄດ້ຢ່າງງ່າຍດາຍ, ເງື່ອນໄຂສາມາດຖືກກໍານົດຢ່າງແທ້ຈິງໃດໆ - ເຖິງຮູບແບບຂອງເຊນ - ແລະໃນປະລິມານໃດກໍ່ຕາມ (ລວມທັງການເຊື່ອມໂຍງກັບຕົວປະຕິບັດການຕາມເຫດຜົນຫຼືຫຼືແລະ). ມີຫ້ອງຫຼາຍສໍາລັບການຈິນຕະນາການ.

  • ແປງສູດເປັນຄ່າ (6 ວິທີ)
  • ມະຫາພາກແມ່ນຫຍັງ, ວິທີການໃຊ້ພວກມັນ, ບ່ອນທີ່ໃສ່ລະຫັດ Visual Basic
  • ຂໍ້ມູນທີ່ເປັນປະໂຫຍດໃນແຖບສະຖານະຂອງ Microsoft Excel

ອອກຈາກ Reply ເປັນ