ວິທີການໃຊ້ Find Function ໃນ VBA (6 ຕົວຢ່າງ)

  • ແບ່ງປັນນີ້
Hugh West

ໜຶ່ງ​ໃນ​ໜ້າ​ທີ່​ທີ່​ສຳຄັນ​ທີ່​ສຸດ​ແລະ​ໃຊ້​ກັນ​ຢ່າງ​ກວ້າງ​ຂວາງ​ທີ່​ພວກ​ເຮົາ​ໃຊ້​ໃນ 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. ທ່ານ​ມີ​ຄໍາ​ຖາມ​ໃດໆ? ກະລຸນາສອບຖາມພວກເຮົາ.

Hugh West ເປັນຄູຝຶກ Excel ທີ່ມີປະສົບການສູງແລະນັກວິເຄາະທີ່ມີປະສົບການຫຼາຍກວ່າ 10 ປີໃນອຸດສາຫະກໍາ. ລາວຈົບປະລິນຍາຕີສາຂາບັນຊີ ແລະການເງິນ ແລະປະລິນຍາໂທສາຂາບໍລິຫານທຸລະກິດ. Hugh ມີຄວາມກະຕືລືລົ້ນໃນການສອນແລະໄດ້ພັດທະນາວິທີການສອນທີ່ເປັນເອກະລັກທີ່ງ່າຍຕໍ່ການຕິດຕາມແລະເຂົ້າໃຈ. ຄວາມຮູ້ຊ່ຽວຊານຂອງລາວກ່ຽວກັບ Excel ໄດ້ຊ່ວຍໃຫ້ນັກຮຽນແລະຜູ້ຊ່ຽວຊານຫລາຍພັນຄົນໃນທົ່ວໂລກປັບປຸງທັກສະຂອງເຂົາເຈົ້າແລະດີເລີດໃນອາຊີບຂອງພວກເຂົາ. ຜ່ານ blog ຂອງລາວ, Hugh ແບ່ງປັນຄວາມຮູ້ຂອງລາວກັບໂລກ, ສະຫນອງການສອນ Excel ຟຣີແລະການຝຶກອົບຮົມອອນໄລນ໌ເພື່ອຊ່ວຍໃຫ້ບຸກຄົນແລະທຸລະກິດສາມາດບັນລຸທ່າແຮງຂອງພວກເຂົາ.