ສາລະບານ
ໜຶ່ງໃນໜ້າທີ່ທີ່ສຳຄັນທີ່ສຸດແລະໃຊ້ກັນຢ່າງກວ້າງຂວາງທີ່ພວກເຮົາໃຊ້ໃນ Visual Basic Application (VBA) ແມ່ນຟັງຊັນ Find. ໃນບົດຄວາມນີ້, ຂ້າພະເຈົ້າຈະສະແດງໃຫ້ທ່ານເຫັນວິທີທີ່ທ່ານສາມາດນໍາໃຊ້ ຟັງຊັນຊອກຫາ ຂອງ Excel ດ້ວຍຕົວຢ່າງແລະຮູບພາບທີ່ເຫມາະສົມ. ຊອກຫາຟັງຊັນໃນ VBA ໃນ Excel.xlsm
6 ຕົວຢ່າງດ່ວນເພື່ອໃຊ້ຟັງຊັນ FIND ໃນ VBA
ນີ້ພວກເຮົາມີ ໄດ້ຮັບຊຸດຂໍ້ມູນທີ່ມີ ຊື່ປຶ້ມ, ຜູ້ຂຽນ ແລະ ລາຄາ ຂອງປຶ້ມບາງຫົວຂອງຮ້ານຂາຍປຶ້ມຊື່ Martin Bookstore.
ມື້ນີ້ ຈຸດປະສົງຂອງພວກເຮົາແມ່ນເພື່ອເບິ່ງປະເພດຕ່າງໆຂອງການນໍາໃຊ້ ຊອກຫາຫນ້າທີ່ ຂອງ VBA ຈາກຊຸດຂໍ້ມູນນີ້.
1. ໃຊ້ຟັງຊັນຊອກຫາໃນ VBA ໂດຍບໍ່ມີພາລາມິເຕີ
ທ່ານສາມາດໃຊ້ ຟັງຊັນຊອກຫາ ຂອງ VBA ໂດຍບໍ່ມີພາລາມິເຕີ.
ຈາກນັ້ນມັນ. ຈະຄົ້ນຫາຄ່າສະເພາະພາຍໃນຂອບເຂດຂອງເຊລ ແລະສົ່ງຄືນການຈັບຄູ່ທໍາອິດທີ່ມັນພົບ.
ໃຫ້ຄົ້ນຫາຊື່ “ປ. B. Shelly” ໃນຖັນ ຜູ້ຂຽນ ( C4:C13 ).
ແຖວທີ່ມີ ຊອກຫາຟັງຊັນ ຈະເປັນ:
Set cell = Range("C4:C17").Find("P. B. Shelly")
ສະບັບສົມບູນ ລະຫັດ VBA ຈະເປັນ:
⧭ ລະຫັດ VBA:
9385
⧭ ຜົນຜະລິດ:
ມັນຜະລິດ Macro ເອີ້ນວ່າ ຊອກຫາ . ຖ້າທ່ານເປີດໃຊ້ Macro, ມັນຈະສົ່ງກັບ $C$6 , ທີ່ຢູ່ຕາລາງທໍາອິດທີ່ມີຊື່ P. B. Shelly .
ອ່ານເພີ່ມເຕີມ: ຊອກຫາພາຍໃນຂອບເຂດທີ່ມີ VBA ໃນExcel: ລວມທັງການຈັບຄູ່ທີ່ແນ່ນອນ ແລະບາງສ່ວນ
2. ນຳໃຊ້ຟັງຊັນຊອກຫາໃນ VBA ດ້ວຍພາຣາມິເຕີຫຼັງ (ເພື່ອເລີ່ມຕົ້ນການຄົ້ນຫາຈາກເຊລສະເພາະ)
ທ່ານສາມາດໃຊ້ພາຣາມິເຕີ ຫຼັງ ດ້ວຍ ຟັງຊັນຊອກຫາ ໃນ VBA . ຈາກນັ້ນມັນຈະເລີ່ມຊອກຫາຄ່າຈາກລຸ່ມຕາລາງທີ່ຢູ່ພາຍໃນຂອບເຂດໃດໜຶ່ງ.
ຕົວຢ່າງ, ໃຫ້ເຮົາເລີ່ມຄົ້ນຫາຊື່ “P. B. Shelly” ຈາກຕາລາງຂ້າງລຸ່ມ C6 .
ແຖວຂອງລະຫັດຈະເປັນ:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
ແລະ ລະຫັດ VBA ທີ່ສົມບູນຈະເປັນ:
⧭ ລະຫັດ VBA:
6054
⧭ ຜົນໄດ້ຮັບ:
ມັນຈະສົ່ງກັບ $C$13 ເພາະວ່າມັນເລີ່ມຊອກຫາຈາກລຸ່ມຕາລາງ C6 , ນັ້ນມາຈາກເຊລ C7 . ສະນັ້ນມັນໄດ້ຮັບ P. B. Shelly ໃນຕາລາງ C13 ກ່ອນ.
ອ່ານເພີ່ມເຕີມ: ວິທີຊອກຫາ String ໃນ a ຕາລາງທີ່ໃຊ້ VBA ໃນ Excel
3. ແລ່ນຟັງຊັນຊອກຫາໃນ VBA ດ້ວຍການຫໍ່ຮອບຫຼັງພາຣາມິເຕີ (ເພື່ອຊອກຫາຄ່າໃນແບບວົງມົນ)
ພາລາມິເຕີ ຫຼັງ ທີ່ມີ ຟັງຊັນຊອກຫາ ຄົ້ນຫາຄ່າໃນວົງມົນ
ນັ້ນຄື, ມັນເລີ່ມຄົ້ນຫາຈາກລຸ່ມຕາລາງທີ່ຢູ່ພາຍໃນຂອບເຂດໃດໜຶ່ງ, ຈົບການຄົ້ນຫາໃນຂອບເຂດ, ແລະຈາກນັ້ນກໍ່ເລີ່ມຈາກເທິງສຸດຂອງຊ່ວງ.
ຕົວຢ່າງ, ໃຫ້ເຮົາເລີ່ມຄົ້ນຫາຊື່ “John Keats” ຈາກຕາລາງຂ້າງລຸ່ມ C8 ໂດຍໃຊ້ພາລາມິເຕີ After .
ແຖວຂອງ ລະຫັດຈະເປັນ:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
ແລະສຳເລັດ ລະຫັດ VBA ຈະເປັນ:
⧭ ລະຫັດ VBA:
7497
⧭ ຜົນຜະລິດ:
ມັນຈະສົ່ງກັບ $C$7 ເພາະວ່າມັນເລີ່ມຊອກຫາຈາກລຸ່ມຕາລາງ C8 , ນັ້ນມາຈາກ ເຊລ C9 .
ມັນບໍ່ພົບອັນໃດຂຶ້ນກັບເຊລ C13 , ສະນັ້ນ ອີກເທື່ອໜຶ່ງຈຶ່ງເລີ່ມຈາກເຊລ C4 ແລະຊອກຫາອັນໜຶ່ງໃນເຊລ. C7 .
ການອ່ານທີ່ຄ້າຍຄືກັນ:
- ວິທີຊອກຫາ String ດ້ວຍ VBA ໃນ Excel (8 ຕົວຢ່າງ)
- ຊອກຫາການຈັບຄູ່ທີ່ແນ່ນອນໂດຍໃຊ້ VBA ໃນ Excel (5 ວິທີ)
- ວິທີຊອກຫາ ແລະປ່ຽນແທນການໃຊ້ VBA (11 ວິທີ)
4. ໃຊ້ຟັງຊັນຊອກຫາໃນ VBA ດ້ວຍພາຣາມິເຕີ LookAt (ສຳລັບການຈັບຄູ່ທີ່ແນ່ນອນ ຫຼືບາງສ່ວນ)
ທ່ານສາມາດໃຊ້ ຟັງຊັນຊອກຫາ ໃນ VBA ດ້ວຍ LookAt ພາຣາມິເຕີ.
ໃຊ້ LookAt = xlWhole ສໍາລັບ ກົງກັນ , ແລະ LookAt=xlPart ສໍາລັບ ບາງສ່ວນ. ກົງກັນ.
ຕົວຢ່າງ, ໃຫ້ລອງຊອກຫາເບິ່ງວ່າມີປຶ້ມໃດນຶ່ງທີ່ມີຊື່ “Ode” ໃນຖັນ ຊື່ປື້ມ ( >B4:B13 ).
ຖ້າພວກເຮົາໃຊ້ xlWhole ໃນແຖວຂອງລະຫັດ:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
ຜົນອອກມາຈະສະແດງຂໍ້ຜິດພາດເນື່ອງຈາກມັນຈະບໍ່ພົບ ທີ່ແນ່ນອນ ກົງກັນ.
ແຕ່ຖ້າທ່ານໃຊ້:
<7 Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
ຈາກນັ້ນມັນຈະກັບຄືນມາ $B$9 , ເພາະວ່າມີປຶ້ມທີ່ມີຊື່ “Ode” ຢູ່ໃນເຊລ B7 , Ode to the Nightingale.
ດັ່ງນັ້ນລະຫັດຄົບຖ້ວນສໍາລັບການຈັບຄູ່ ບາງສ່ວນ ແມ່ນ:
⧭ ລະຫັດ VBA:
6429
5. ດໍາເນີນການຊອກຫາຟັງຊັນໃນ VBA ດ້ວຍ SearchDirection Parameter (ເພື່ອລະບຸທິດທາງຂອງການຄົ້ນຫາ)
ທ່ານຍັງສາມາດໃຊ້ ຟັງຊັນຊອກຫາ ໃນ VBA ດ້ວຍ SearchDirection ພາຣາມິເຕີ.
ໃຊ້ SearchDirection = xlNext ສໍາລັບການຊອກຫາຈາກ ເທິງຫາລຸ່ມສຸດ .
ແລະ SearchDirection = xlPrevious ສໍາລັບການຊອກຫາຈາກ ລຸ່ມຫາເທິງ .
ຕົວຢ່າງ, ໃຫ້ລອງຊອກຫາຜູ້ຂຽນ Elif Shafak ໃນຖັນ ຜູ້ຂຽນ . ( C4:C13 ).
ຖ້າພວກເຮົາໃຊ້ xlNext ໃນແຖວຂອງລະຫັດ:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
ຈາກນັ້ນມັນຈະກັບຄືນມາ $C$5 .
ແຕ່ຖ້າທ່ານໃຊ້:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
ຈາກນັ້ນມັນຈະກັບຄືນມາ $C$11 .
ດັ່ງນັ້ນລະຫັດຄົບຖ້ວນສໍາລັບການຊອກຫາຈາກ ລຸ່ມສຸດຫາເທິງ ແມ່ນ:
⧭ ລະຫັດ VBA:
8435
6. ຊອກຫາຟັງຊັນໃນ VBA ດ້ວຍພາຣາມິເຕີ MatchCase (ສຳລັບການຈັບຄູ່ກໍລະນີທີ່ລະອຽດອ່ອນ ຫຼື ບໍ່ລະອຽດອ່ອນ)
ສຸດທ້າຍ, ທ່ານສາມາດໃຊ້ ຟັງຊັນຊອກຫາ ກັບພາລາມິເຕີ MatchCase .
ໃຊ້ MatchCase = True ສໍາລັບ case-sensitive match , ແລະ MatchCase=False ສໍາລັບ case-insensitive match.
ຕົວຢ່າງ, ໃຫ້ລອງຊອກຫາປຶ້ມ “ແມ່” ໃນຖັນ Book Name ( B4:B13. ).
ຖ້າພວກເຮົາໃຊ້ True ໃນແຖວຂອງລະຫັດ:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
ຜົນອອກມາຈະສະແດງຂໍ້ຜິດພາດເພາະວ່າມັນຈະບໍ່ເປັນ. ບໍ່ພົບກົງກັນ.
ແຕ່ຖ້າທ່ານໃຊ້:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
ຈາກນັ້ນມັນຈະກັບຄືນມາ $ B$9 ເພາະວ່າມີປຶ້ມຊື່ “ແມ່” ໃນເຊລ B8 .
ດັ່ງນັ້ນ ລະຫັດທີ່ສົມບູນຂອງ ການຈັບຄູ່ ບໍ່ມີຕົວພິມນ້ອຍໃຫຍ່ ແມ່ນ:
⧭ ລະຫັດ VBA:
2382
ບົດສະຫຼຸບ
ໂດຍໃຊ້ວິທີການເຫຼົ່ານີ້, ທ່ານສາມາດໃຊ້ Find Function ໃນ Visual Basic Application. ທ່ານມີຄໍາຖາມໃດໆ? ກະລຸນາສອບຖາມພວກເຮົາ.