ເນື້ອໃນ
ບາງຄັ້ງມັນໃຊ້ເວລາຫຼາຍທີ່ຈະເກີດຂຶ້ນກັບບາງສິ່ງບາງຢ່າງ. ແຕ່ເມື່ອພວກເຂົາໄດ້ຮັບການປະດິດແລ້ວ, ຫຼັງຈາກຄວາມເປັນຈິງແລ້ວພວກເຂົາເບິ່ງຄືວ່າຈະແຈ້ງແລະແມ້ກະທັ້ງ 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