ຂໍ້ດີແລະຂໍ້ເສຍຂອງຫນ້າທີ່ກໍາຫນົດເອງໃນ Excel

  • ແບ່ງປັນນີ້
Michael Brown

ພວກເຮົາກໍາລັງສືບຕໍ່ຊຸດຂອງບົດສອນກ່ຽວກັບຫນ້າທີ່ກໍານົດຂອງຜູ້ໃຊ້. ໃນບົດຄວາມທີ່ຜ່ານມາຂອງພວກເຮົາ, ພວກເຮົາໄດ້ຮູ້ຈັກກັບຫນ້າທີ່ກໍານົດເອງແລະຮຽນຮູ້ວິທີການສ້າງແລະນໍາໃຊ້ພວກມັນ. ໃນຄູ່ມືນີ້ພວກເຮົາຈະເບິ່ງສະເພາະຂອງການນໍາໃຊ້ຫນ້າທີ່ເຫຼົ່ານີ້ແລະເບິ່ງຄວາມແຕກຕ່າງລະຫວ່າງ UDFs ແລະ VBA macro.

ໃນບົດສອນນີ້, ພວກເຮົາຈະຮຽນຮູ້ຕໍ່ໄປນີ້:

    ພວກເຮົາຫວັງວ່າບົດຄວາມນີ້ຈະເພີ່ມຄວາມຮູ້ຂອງທ່ານກ່ຽວກັບ UDF ແລະຊ່ວຍໃຫ້ທ່ານໃຊ້ພວກມັນຢ່າງມີປະສິດທິພາບຫຼາຍຂຶ້ນໃນປຶ້ມວຽກ Excel ຂອງທ່ານ.

    UDF ແລະ Macro ແມ່ນສິ່ງດຽວກັນບໍ?

    ທັງສອງຟັງຊັນທີ່ຜູ້ໃຊ້ກຳນົດໄວ້ ແລະ VBA macros ຖືກສ້າງຂື້ນໂດຍໃຊ້ຕົວແກ້ໄຂ VBA. ຄວາມແຕກຕ່າງລະຫວ່າງພວກມັນແມ່ນຫຍັງ ແລະສິ່ງທີ່ຈະໃຫ້ຕາມໃຈມັກ?

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

    UDF ແລະ VBA macro ເຮັດວຽກໃນວິທີຕ່າງໆ. ຕົວຢ່າງ, ເມື່ອທ່ານສ້າງ UDF ໃນ Visual Basic Editor, ທ່ານຈະເລີ່ມຕົ້ນດ້ວຍຄໍາຖະແຫຼງການ ຟັງຊັນ ແລະສິ້ນສຸດດ້ວຍ ຟັງຊັນສິ້ນສຸດ . ເມື່ອທ່ານບັນທຶກມະຫາພາກ, ທ່ານເລີ່ມຕົ້ນດ້ວຍ aຖະແຫຼງການ Sub ແລະລົງທ້າຍດ້ວຍ End Sub.

    ບໍ່ແມ່ນຕົວປະຕິບັດການ Visual Basic ທັງໝົດທີ່ສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງ UDFs. ດ້ວຍເຫດຜົນນີ້, ມະຫາພາກຈຶ່ງເປັນການແກ້ໄຂທີ່ຫຼາກຫຼາຍກວ່າ.

    ມະຫາພາກບໍ່ໄດ້ຮຽກຮ້ອງໃຫ້ຜູ້ໃຊ້ຜ່ານອາກິວເມັນໃດໆ ​​(ຫຼືບໍ່ສາມາດຍອມຮັບການໂຕ້ຖຽງໃດໆ), ບໍ່ຄືກັບຟັງຊັນທີ່ຜູ້ໃຊ້ກຳນົດໄວ້.

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

    ຕົວຢ່າງ, ທ່ານມີໄຟລ໌ທີ່ມີ macro ເຮັດວຽກຢ່າງສົມບູນ. ສູດນີ້ຄິດໄລ່ອັດຕາສ່ວນຂອງເຊລ A1 ຫາ A4. Macro ປ່ຽນສີຂອງຈຸລັງເຫຼົ່ານີ້ເປັນສີເຫຼືອງ. ຮູບແບບເປີເຊັນຖືກຕັ້ງຢູ່ໃນເຊລທີ່ເຮັດວຽກ.

    ຖ້າທ່ານ ຫຼືຄົນອື່ນຕັດສິນໃຈໃສ່ແຖວໃໝ່, ມາໂຄຣຈະສືບຕໍ່ຊອກຫາຄ່າໃນຕາລາງ A4 ( ພາຣາມິເຕີ 4,1 ໃນ UDF ຂອງທ່ານ), ລົ້ມເຫລວ ແລະສົ່ງຄືນຂໍ້ຜິດພາດ:

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

    ກົງກັນຂ້າມກັບ macros, ຟັງຊັນທີ່ຜູ້ໃຊ້ກໍານົດບໍ່ສາມາດເຮັດໃຫ້ເກີດສະຖານະການທີ່ບໍ່ຫນ້າພໍໃຈໄດ້.

    ຂ້າງລຸ່ມນີ້ທ່ານຈະເຫັນປະສິດທິພາບຂອງການຄິດໄລ່ດຽວກັນໂດຍໃຊ້ UDF. ໃນທີ່ນີ້ທ່ານສາມາດລະບຸຕາລາງການປ້ອນຂໍ້ມູນໄດ້ທຸກບ່ອນໃນແຜ່ນວຽກ ແລະທ່ານຈະບໍ່ປະເຊີນກັບບັນຫາທີ່ບໍ່ຄາດຄິດເມື່ອປ່ຽນມັນ.

    ຂ້ອຍຂຽນສູດຕໍ່ໄປນີ້ໃນ C3:

    =UDF_vs_Macro(A1,A4)

    ຈາກ​ນັ້ນ​ຂ້າ​ພະ​ເຈົ້າ​ໄດ້​ໃສ່​ແຖວ​ທີ່​ເປົ່າ​ຫວ່າງ, ແລະ​ສູດ​ໄດ້​ປ່ຽນ​ແປງ​ຕາມ​ທີ່​ທ່ານ​ສາ​ມາດ​ເບິ່ງ​ໃນ screenshot ຂ້າງ​ເທິງ.

    ດຽວ​ນີ້​ພວກ​ເຮົາ​ສາ​ມາດ​ຍ້າຍ​ຊ່ອງ​ປ້ອນ​ຂໍ້​ມູນ​ຫຼື​ເຊ​ລ​ທີ່​ມີ​ຫນ້າ​ທີ່​ໄດ້​ທຸກ​ບ່ອນ​. ຜົນໄດ້ຮັບຈະຖືກຕ້ອງສະເໝີ.

    ຜົນປະໂຫຍດເພີ່ມເຕີມຂອງການໃຊ້ UDFs ແມ່ນວ່າພວກມັນຈະອັບເດດໂດຍອັດຕະໂນມັດເມື່ອຄ່າໃນຕາລາງປ້ອນເຂົ້າມີການປ່ຽນແປງ. ເມື່ອໃຊ້ macro, ທ່ານຕ້ອງຮັບປະກັນວ່າຂໍ້ມູນທັງໝົດແມ່ນທັນສະໃໝສະເໝີ.

    ການຈື່ຈຳຕົວຢ່າງນີ້ຢູ່ໃນໃຈ, ຂ້ອຍຢາກໃຊ້ UDFs ໃນທຸກທີ່ທີ່ເປັນໄປໄດ້ ແລະໃຊ້ macros ເທົ່ານັ້ນສຳລັບກິດຈະກຳອື່ນໆທີ່ບໍ່ແມ່ນການຄຳນວນ.

    ຂໍ້ຈຳກັດ ແລະຂໍ້ເສຍຂອງການນຳໃຊ້ UDF

    ຂ້າພະເຈົ້າໄດ້ກ່າວເຖິງຂໍ້ດີຂອງ UDF ຂ້າງເທິງແລ້ວ. ສັ້ນເລື່ອງສັ້ນ, ມັນສາມາດປະຕິບັດການຄິດໄລ່ທີ່ເປັນໄປບໍ່ໄດ້ກັບຟັງຊັນ Excel ມາດຕະຖານ. ນອກຈາກນັ້ນ, ມັນສາມາດປະຫຍັດແລະໃຊ້ສູດຍາວແລະສະລັບສັບຊ້ອນ, ປ່ຽນເປັນຫນ້າທີ່ດຽວ. ແລະທ່ານຈະບໍ່ຕ້ອງຂຽນສູດທີ່ສັບສົນຊໍ້າແລ້ວຊໍ້າອີກ.

    ຕອນນີ້ໃຫ້ເວົ້າລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບຂໍ້ບົກຜ່ອງຂອງ UDF:

    • ການສ້າງ UDFs ຕ້ອງການໃຊ້ VBA. ບໍ່ມີທາງອ້ອມມັນ. ນີ້ຫມາຍຄວາມວ່າຜູ້ໃຊ້ບໍ່ສາມາດບັນທຶກ UDF ໃນລັກສະນະດຽວກັນກັບ Macro Excel. ເຈົ້າຕ້ອງສ້າງ UDF ດ້ວຍຕົນເອງ. ຢ່າງໃດກໍຕາມ, ທ່ານສາມາດຄັດລອກແລະວາງບາງສ່ວນຂອງລະຫັດມະຫາພາກທີ່ບັນທຶກໄວ້ໃນເມື່ອກ່ອນໃສ່ໃນຫນ້າທີ່ຂອງທ່ານ. ທ່ານພຽງແຕ່ຕ້ອງການຮູ້ຂໍ້ຈໍາກັດຂອງຫນ້າທີ່ກໍານົດເອງ.
    • ຂໍ້ບົກຜ່ອງອີກຢ່າງຫນຶ່ງຂອງ UDF ກໍ່ຄືກັບຟັງຊັນ Excel ອື່ນໆທີ່ມັນສາມາດສົ່ງຄືນຄ່າດຽວຫຼື array ຂອງຄ່າເຂົ້າໄປໃນຕາລາງ. ມັນພຽງແຕ່ປະຕິບັດການຄິດໄລ່, ບໍ່ມີຫຍັງຫຼາຍ.
    • ຖ້າທ່ານຕ້ອງການແບ່ງປັນປື້ມຄູ່ມືຂອງທ່ານກັບເພື່ອນຮ່ວມງານ, ໃຫ້ແນ່ໃຈວ່າຈະຊ່ວຍປະຢັດ UDFs ຂອງທ່ານໃນໄຟລ໌ດຽວກັນ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຟັງຊັນແບບກຳນົດເອງຂອງທ່ານຈະບໍ່ໃຊ້ໄດ້ກັບພວກມັນ.
    • ຟັງຊັນກຳນົດເອງທີ່ສ້າງຂຶ້ນດ້ວຍຕົວແກ້ໄຂ VBA ແມ່ນຊ້າກວ່າຟັງຊັນປົກກະຕິ. ນີ້ແມ່ນສັງເກດເຫັນໂດຍສະເພາະໃນຕາຕະລາງຂະຫນາດໃຫຍ່. ແຕ່ຫນ້າເສຍດາຍ, VBA ເປັນພາສາການຂຽນໂປຼແກຼມຊ້າຫຼາຍ. ດັ່ງນັ້ນ, ຖ້າທ່ານມີຂໍ້ມູນຫຼາຍ, ພະຍາຍາມໃຊ້ຟັງຊັນມາດຕະຖານທຸກຄັ້ງທີ່ເປັນໄປໄດ້, ຫຼືສ້າງ UDF ໂດຍໃຊ້ຟັງຊັນ LAMBDA.

    ຂໍ້ຈໍາກັດຂອງຟັງຊັນແບບກຳນົດເອງ:

    • UDFs ແມ່ນ ອອກແບບເພື່ອປະຕິບັດການຄິດໄລ່ ແລະສົ່ງຄືນຄ່າ. ພວກມັນບໍ່ສາມາດໃຊ້ແທນມາໂຄຣໄດ້.
    • ພວກມັນບໍ່ສາມາດປ່ຽນເນື້ອໃນຂອງເຊລອື່ນໄດ້ (ພຽງແຕ່ເຊລທີ່ໃຊ້ໄດ້ເທົ່ານັ້ນ).
    • ຊື່ຟັງຊັນຕ້ອງປະຕິບັດຕາມກົດລະບຽບບາງຢ່າງ. ຕົວຢ່າງ, ທ່ານບໍ່ສາມາດໃຊ້ຊື່ທີ່ກົງກັບຊື່ຟັງຊັນ Excel ພື້ນເມືອງ ຫຼືທີ່ຢູ່ເຊລເຊັ່ນ AB123.
    • ຟັງຊັນແບບກຳນົດເອງຂອງທ່ານບໍ່ສາມາດມີຍະຫວ່າງໃນຊື່, ແຕ່ມັນສາມາດມີຕົວອັກສອນຂີດກ້ອງໄດ້. ຢ່າງໃດກໍຕາມ, ວິທີການທີ່ມັກແມ່ນການໃຊ້ຕົວພິມໃຫຍ່ໃນຕອນຕົ້ນຂອງແຕ່ລະໃຫມ່word (ຕົວຢ່າງ: GetMaxBetween).
    • UDF ບໍ່ສາມາດສຳເນົາ ແລະວາງເຊລໃສ່ພື້ນທີ່ອື່ນໆຂອງແຜ່ນວຽກໄດ້.
    • ພວກເຂົາບໍ່ສາມາດປ່ຽນແຜ່ນວຽກທີ່ໃຊ້ງານໄດ້.
    • UDFs ສາມາດ' t ປ່ຽນການຈັດຮູບແບບໃນຕາລາງທີ່ໃຊ້ງານ. ຖ້າທ່ານຕ້ອງການປ່ຽນການຈັດຮູບແບບຂອງຕາລາງເມື່ອສະແດງຄ່າທີ່ແຕກຕ່າງກັນ, ທ່ານຄວນໃຊ້ການຈັດຮູບແບບຕາມເງື່ອນໄຂ.
    • ພວກມັນບໍ່ສາມາດເປີດປຶ້ມເພີ່ມເຕີມໄດ້.
    • ພວກມັນບໍ່ສາມາດໃຊ້ເພື່ອແລ່ນມາໂຄໄດ້ໂດຍໃຊ້ Application.OnTime .
    • ຟັງຊັນທີ່ຜູ້ໃຊ້ກຳນົດເອງບໍ່ສາມາດສ້າງໄດ້ໂດຍໃຊ້ macro recorder.
    • ຟັງຊັນບໍ່ປາກົດຢູ່ໃນ ຜູ້ພັດທະນາ > Macros dialog.
    • ຟັງຊັນຂອງທ່ານຈະປາກົດຢູ່ໃນກ່ອງໂຕ້ຕອບ ( Insert > Function ) ແລະໃນລາຍການຟັງຊັນພຽງແຕ່ຖ້າພວກມັນຖືກປະກາດເປັນ ສາທາລະນະ (ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ, ເວັ້ນເສຍແຕ່ຈະລະບຸໄວ້ເປັນຢ່າງອື່ນ).
    • ຟັງຊັນໃດໆທີ່ປະກາດວ່າເປັນ ສ່ວນຕົວ ຈະບໍ່ປາກົດຢູ່ໃນລາຍການຄຸນສົມບັດ.

    ການດຳເນີນການທີ່ຂ້ອນຂ້າງຊ້າ. , ເຊັ່ນດຽວກັນກັບຂໍ້ຈໍາກັດບາງຢ່າງໃນການນໍາໃຊ້, ອາດຈະເຮັດໃຫ້ທ່ານຄິດວ່າ: "ການນໍາໃຊ້ຫນ້າທີ່ກໍານົດເອງເຫຼົ່ານີ້ແມ່ນຫຍັງ?"

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

    ສຳລັບຂ້ອຍ, ໜ້າທີ່ກຳນົດເອງແມ່ນປະຫຍັດເວລາໄດ້ດີ. ແລະເຈົ້າເດ? ທ່ານໄດ້ພະຍາຍາມສ້າງ UDF ຂອງທ່ານເອງບໍ? ເຈົ້າ​ມັກ​ບໍດີກວ່າຫນ້າທີ່ Excel ພື້ນຖານ? ໃຫ້ປຶກສາຫາລືມັນຢູ່ໃນຄໍາເຫັນ :)

    Michael Brown ເປັນຜູ້ທີ່ມີຄວາມກະຕືລືລົ້ນທາງດ້ານເທກໂນໂລຍີທີ່ອຸທິດຕົນທີ່ມີຄວາມກະຕືລືລົ້ນໃນຂະບວນການທີ່ສັບສົນໂດຍນໍາໃຊ້ເຄື່ອງມືຊອບແວ. ດ້ວຍປະສົບການຫຼາຍກວ່າໜຶ່ງທົດສະວັດໃນອຸດສາຫະກຳເທັກໂນໂລຍີ, ລາວໄດ້ເນັ້ນທັກສະໃນ Microsoft Excel ແລະ Outlook, ເຊັ່ນດຽວກັນກັບ Google Sheets ແລະ Docs. blog ຂອງ Michael ແມ່ນອຸທິດຕົນເພື່ອແບ່ງປັນຄວາມຮູ້ແລະຄວາມຊໍານານຂອງລາວກັບຜູ້ອື່ນ, ສະຫນອງຄໍາແນະນໍາແລະຄໍາແນະນໍາທີ່ງ່າຍຕໍ່ການຕິດຕາມເພື່ອປັບປຸງຜົນຜະລິດແລະປະສິດທິພາບ. ບໍ່ວ່າທ່ານຈະເປັນມືອາຊີບທີ່ມີລະດູການຫຼືຜູ້ເລີ່ມຕົ້ນ, blog ຂອງ Michael ສະເຫນີຄວາມເຂົ້າໃຈທີ່ມີຄຸນຄ່າແລະຄໍາແນະນໍາພາກປະຕິບັດສໍາລັບການໄດ້ຮັບປະໂຫຍດສູງສຸດຈາກເຄື່ອງມືຊອບແວທີ່ຈໍາເປັນເຫຼົ່ານີ້.