ວິທີການຊອກຫາສາຍຍ່ອຍໂດຍໃຊ້ VBA (9 ວິທີ)

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

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

ດາວໂຫລດ Workbook

ຕົວຢ່າງເນື້ອໃນ

9 ວິທີຊອກຫາສາຍຍ່ອຍໂດຍໃຊ້ VBA

ທີ່ນີ້, ຂ້ອຍມີສິ່ງຕໍ່ໄປນີ້. ຕາຕະລາງຂໍ້ມູນໂດຍທີ່ຂ້ອຍຈະສະແດງວິທີການຄົ້ນຫາ substring ໃນ string ໂດຍໃຊ້ VBA. ຂ້ອຍຍັງຈະພະຍາຍາມສະແດງວິທີການຊອກຫາສະຕຣິງຍ່ອຍໃນສະຕຣິງແບບສຸ່ມ.

ຂ້ອຍໄດ້ເຮັດວຽກນີ້ໂດຍໃຊ້ Microsoft Excel 365 ເວີຊັ່ນ, ທ່ານສາມາດໃຊ້ເວີຊັນອື່ນຕາມຄວາມສະດວກສະບາຍຂອງເຈົ້າ.

Method-1: ຊອກຫາ Substring ໃນ String ໂດຍໃຊ້ VBA

ຖ້າທ່ານຕ້ອງການຊອກຫາ Substring ທີ່ທ່ານຕ້ອງການຢູ່ໃນ String ໂດຍໃຊ້ VBA, ທ່ານສາມາດໃຊ້ ຟັງຊັນ InStr ໃນລະຫັດ VBA.

ຂັ້ນຕອນ-01 :

➤ ໄປທີ່ ຜູ້ພັດທະນາ Tab>> Visual Basic Option

ຈາກນັ້ນ, Visual Basic Editor ຈະເປີດຂຶ້ນ.

➤ໄປທີ່ ໃສ່ Tab>> ໂມດູນ ທາງເລືອກ

ຫຼັງຈາກນັ້ນ, ໂມດູນ ຈະຖືກສ້າງຂຶ້ນ.

ຂັ້ນຕອນ-02 :

➤ ຂຽນລະຫັດຕໍ່ໄປນີ້

1470

ທີ່ນີ້, InStr(1, “ ຂ້າ​ພະ​ເຈົ້າ​ຄິດ​ວ່າ​ດັ່ງ​ນັ້ນ​ຂ້າ​ພະ​ເຈົ້າ”, “ຄິດ”) ຈະ​ກັບ​ຄືນ​ຕໍາ​ແຫນ່ງ​ຂອງ substring ຂອງ​ສະ​ຕ​ຣິງ. 1 ແມ່ນຕຳແໜ່ງເລີ່ມຕົ້ນ, “ ຂ້ອຍຄິດວ່າຂ້ອຍເປັນ” ແມ່ນສະຕຣິງທີ່ເຈົ້າຈະຊອກຫາສາຍຍ່ອຍທີ່ທ່ານຕ້ອງການ, ແລະ “ຄິດ” ແມ່ນສະຕຣິງຍ່ອຍທີ່ທ່ານຕ້ອງການຊອກຫາ. ມັນເປັນຕົວພິມນ້ອຍໃຫຍ່ຕາມຄ່າເລີ່ມຕົ້ນ, ສະນັ້ນຈົ່ງລະວັງກໍລະນີຂອງສາຍຍ່ອຍຂອງເຈົ້າທີ່ເຈົ້າຕ້ອງການຄົ້ນຫາ.

➤ກົດ F5

ຜົນໄດ້ຮັບ :

ຫຼັງຈາກນັ້ນ, ທ່ານຈະໄດ້ຮັບຕໍ່ໄປນີ້ ກ່ອງຂໍ້ຄວາມ ທີ່ປະກອບດ້ວຍຕໍາແໜ່ງຂອງ “ຄິດ” ສະຕຣິງຍ່ອຍ.

ວິທີທີ 2: ຊອກຫາຕົວໜັງສືຍ່ອຍທີ່ບໍ່ລະອຽດອ່ອນໃນສະຕຣິງ

ຖ້າທ່ານຕ້ອງການຊອກຫາສະຕຣິງຍ່ອຍທີ່ທ່ານຕ້ອງການຢູ່ໃນສະຕຣິງໂດຍບໍ່ຄຳນຶງເຖິງກໍລະນີທີ່ໃຊ້ VBA, ຈາກນັ້ນປະຕິບັດຕາມນີ້. ວິທີການ.

ຂັ້ນຕອນ-01 :

➤ ປະຕິບັດຕາມ ຂັ້ນຕອນ-01 ຂອງ ວິທີການ-1

8966

ຢູ່ນີ້, vbTextCompare ຖືກໃຊ້ເພື່ອຊອກຫາສະຕຣິງຍ່ອຍທີ່ບໍ່ອ່ອນໄຫວຕົວພິມນ້ອຍໃຫຍ່.

➤ກົດ F5

ຜົນໄດ້ຮັບ :

ຈາກນັ້ນ, ທ່ານຈະໄດ້ຮັບ ກ່ອງຂໍ້ຄວາມ ຕໍ່ໄປນີ້ ປະກອບດ້ວຍຕຳແໜ່ງຂອງ “ຄິດ” ສະຕຣິງຍ່ອຍ.

<0

ທ່ານ​ສາ​ມາດ​ເຮັດ​ໄດ້​ເຊັ່ນ​ດຽວ​ກັນ​ໂດຍ​ການ​ນໍາ​ໃຊ້​ລະ​ຫັດ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້.

3296

ຢູ່​ທີ່​ນີ້, ຂໍ້​ຄວາມ​ການ​ປຽບ​ທຽບ​ທາງ​ເລືອກ ຈະ​ຊອກ​ຫາ​ຕົວ​ພິມ​ນ້ອຍ​ທີ່​ບໍ່​ມີ​ຕົວ​ພິມ​ນ້ອຍ​ໄດ້​.

➤ ກົດ F5

ຜົນໄດ້ຮັບ :

ຫຼັງຈາກນັ້ນ, ທ່ານຈະໄດ້ ຈະໄດ້ຮັບຕໍ່ໄປນີ້ ກ່ອງຂໍ້ຄວາມ ທີ່ບັນຈຸຕໍາແໜ່ງຂອງ “ຄິດ” ສະຕຣິງຍ່ອຍ.

ວິທີ-3: ການນໍາໃຊ້ຟັງຊັນ InstrRev ໃນ VBA

ຢູ່ນີ້, ຂ້ອຍຈະສະແດງວິທີການຊອກຫາສາຍຍ່ອຍຈາກທ້າຍຂອງ astring.

Step-01 :

➤ ປະຕິບັດຕາມ Step-01 of Method-1

2493

InStrRev ຈະຊອກຫາຂໍ້ຄວາມຍ່ອຍຈາກດ້ານຂວາແທນທາງຊ້າຍ.

➤ກົດ F5

ຜົນ​ໄດ້​ຮັບ :

ຈາກ​ນັ້ນ, ທ່ານ​ຈະ​ໄດ້​ຮັບ ກ່ອງ​ຂໍ້​ຄວາມ ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ປະ​ກອບ​ດ້ວຍ​ຕໍາ​ແຫນ່ງ​ຂອງ​ທີ​ສອງ “ຂ້າ​ພະ​ເຈົ້າ” ສະ​ຕ​ຣິງ​ຍ່ອຍ​ຈາກ ດ້ານຂວາ.

ວິທີທີ 4: ຊອກຫາຕໍາແໜ່ງຂອງສາຍຍ່ອຍໃນສະຕຣິງໃນຂອບເຂດຂອງຂໍ້ມູນ

ຖ້າທ່ານຕ້ອງການຊອກຫາຕົວອັກສອນພິເສດ “@” ໃນ ອີເມລ໌ Id , ຈາກນັ້ນປະຕິບັດຕາມວິທີນີ້. ຂ້ອຍໄດ້ເພີ່ມໃສ່ ຖັນຕຳແໜ່ງ ເພື່ອຈຸດປະສົງນີ້.

ຂັ້ນຕອນ-01 :

➤ ຕິດຕາມ ຂັ້ນຕອນ-01 ຂອງ Method-1

8766

ມັນຈະສ້າງຟັງຊັນທີ່ມີຊື່ວ່າ FindSubstring (ທ່ານສາມາດໃຊ້ຊື່ອື່ນໄດ້)

ຄ່າ ແມ່ນການອ້າງອີງເຊລທີ່ມີສະຕຣິງ ແລະມັນຖືກປະກາດເປັນ ໄລຍະ .

ຂັ້ນຕອນ -02 :

➤ເລືອກຜົນຜະລິດ Cell E5

➤ ພິມຟັງຊັນຕໍ່ໄປນີ້ (ສ້າງໂດຍ VBA )

=FindSubstring(D5)

D5 ແມ່ນຕາລາງທີ່ບັນຈຸສະຕຣິງ.

➤ກົດ ENTER

➤ລາກລົງ Fill Handle Tool

ຜົນໄດ້ຮັບ :

ຫຼັງຈາກນັ້ນ, ທ່ານຈະໄດ້ຮັບຕຳແໜ່ງຂອງຕົວລະຄອນພິເສດ @” ໃນ ອີເມລໄອດີ .

<1

ການອ່ານທີ່ຄ້າຍຄືກັນ:

  • ວິທີຊອກຫາString ໃນຕາລາງໂດຍໃຊ້ VBA ໃນ Excel (2 ວິທີ)
  • ຊອກຫາຕໍ່ໄປໂດຍໃຊ້ VBA ໃນ Excel (2 ຕົວຢ່າງ)
  • ວິທີຊອກຫາ String ດ້ວຍ VBA ໃນ Excel (8 ຕົວຢ່າງ)
  • VBA ຊອກຫາແຖວສຸດທ້າຍໃນ Excel (5 ວິທີ)

ວິທີ-5: ກວດສອບສາຍຍ່ອຍບາງອັນໃນ String ໃນຂອບເຂດຂອງຂໍ້ມູນ

ສົມມຸດວ່າ, ທ່ານຕ້ອງການຂຽນ Pass ຫຼື Fail tocorrespond ກັບຊື່ຂອງນັກຮຽນ ຂຶ້ນກັບ ຖັນຜົນໄດ້ຮັບ. ບ່ອນທີ່ Pass ຫຼື Fail ໄດ້ຖືກຂຽນໄວ້ໃນວົງເລັບ. ເພື່ອ​ຊອກ​ຫາ​ສະ​ຕ​ຣິງ​ຍ່ອຍ​ນີ້​ໃນ ຖັນ​ຜົນ​ໄດ້​ຮັບ ແລະ​ຂຽນ​ລົງ​ໃນ​ຖັນ ຜ່ານ​ຫຼື​ລົ້ມ​ເຫຼວ ເຮັດ​ຕາມ​ວິ​ທີ​ການ​ນີ້.

ຂັ້ນຕອນ-01 :

➤ ປະຕິບັດຕາມ ຂັ້ນຕອນ-01 ຂອງ ວິທີ-1

6479

ຢູ່ບ່ອນນີ້, ຊ່ວງຕາລາງແມ່ນ C5:C10 ເຊິ່ງເປັນ ຖັນຜົນໄດ້ຮັບ

InStr(cell.value, “Pass”) > 0 ແມ່ນເງື່ອນໄຂທີ່ຕົວເລກໃຫຍ່ກວ່າສູນ (ເມື່ອເຊລມີ “ຜ່ານ” )  ຈາກນັ້ນແຖວຕໍ່ໄປນີ້ຈະສືບຕໍ່ ແລະໃຫ້ຜົນອອກໃນຕາລາງທີ່ຢູ່ໃກ້ຄຽງເປັນ ຜ່ານ .

ຖ້າເງື່ອນໄຂກາຍເປັນ false ໝາຍຄວາມວ່າເຊລບໍ່ມີ “Pass” ຈາກນັ້ນແຖວທີ່ຢູ່ໃຕ້ ອັນອື່ນ ຈະດຳເນີນການ ແລະໃຫ້ຄ່າຜົນໄດ້ຮັບໃນ ຕາລາງທີ່ຢູ່ຕິດກັນເປັນ ລົ້ມເຫລວ .

loop ນີ້ຈະສືບຕໍ່ສໍາລັບແຕ່ລະຕາລາງ.

➤ກົດ F5

ຜົນໄດ້ຮັບ :

ຈາກນັ້ນ, ທ່ານຈະໄດ້ຮັບຜົນໄດ້ຮັບຕໍ່ໄປນີ້ໃນ Pass ຫຼືລົ້ມເຫລວ. ຖັນ.

ວິທີ-6: ການກວດສອບສາຍຍ່ອຍບາງອັນໃນ String ແລະສະກັດຂໍ້ມູນ

ຂ້ອຍຈະສະແດງວິທີການຊອກຫານັກຮຽນທີ່ມີຊື່ Michael ໃນ ຖັນຊື່ນັກຮຽນ ແລະແຍກຂໍ້ມູນທີ່ກ່ຽວຂ້ອງຂອງພວກເຂົາໂດຍໃຊ້ VBA ໃນວິທີການນີ້.

ຂັ້ນຕອນ-01 :

➤ ປະຕິບັດຕາມ ຂັ້ນຕອນ-01 ຂອງ ວິທີ-1

5585

ທີ່ນີ້, ຂ້າພະເຈົ້າໄດ້ໃຊ້ B100 ເປັນ ​​ Active Sheet Range ແຕ່ທ່ານສາມາດໃຊ້ຊ່ວງໃດກໍໄດ້ຕາມການໃຊ້ງານຂອງເຈົ້າ.

InStr(1, Range("B" & i), "Michael") > 0 ແມ່ນເງື່ອນໄຂໃນການກວດສອບວ່າເຊັລຢູ່ໃນ ຖັນ B ປະກອບດ້ວຍ Michael

Range("E" & icount & ":G" & icount) ແມ່ນໄລຍະທີ່ທ່ານຕ້ອງການຂໍ້ມູນຜົນຜະລິດຂອງທ່ານແລະ Range("B" & i & ":D" & i).value ຈະໃຫ້ຄ່າ ຈາກຖັນ B ເຖິງ D .

➤ກົດ F5

ຜົນໄດ້ຮັບ :

ຫຼັງຈາກນັ້ນ, ທ່ານຈະໄດ້ຮັບຂໍ້ມູນທີ່ສະກັດອອກມາຕໍ່ໄປນີ້ສໍາລັບນັກຮຽນທີ່ມີຊື່ Michael .

ວິທີທີ 7: ຄົ້ນຫາສະຕຣິງຍ່ອຍສຳລັບຄຳສັບ

ຫາກທ່ານຕ້ອງການຊອກຫາສະຕຣິງຍ່ອຍເປັນຄຳສັບ, ຈາກນັ້ນເຮັດຕາມ. ຕໍ່າວິທີນີ້.

ຂັ້ນຕອນ-01 :

➤ ປະຕິບັດຕາມ ຂັ້ນຕອນ-01 ຂອງ ວິທີ-1

7731

ມັນ​ຈະ​ກວດ​ເບິ່ງ​ວ່າ​ສະ​ຕ​ຣິງ​ປະ​ກອບ​ດ້ວຍ ແມ່ນ ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ຕໍາ​ແຫນ່ງ​ຂອງ​ມັນ​ຈະ​ໄດ້​ຮັບ

➤ ກົດ F5

ຜົນ​ໄດ້​ຮັບ :

ຫຼັງ​ຈາກ​ນັ້ນ, ທ່ານ​ຈະ​ໄດ້​ຮັບ​ກ່ອງ​ຂໍ້​ຄວາມ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ສະ​ແດງ​ໃຫ້​ເຫັນ ຄໍາ​ສັບ​ທີ່​ພົບ​ໃນ​ຕໍາ​ແຫນ່ງ:6 (ຕໍາ​ແຫນ່ງ​ຂອງ is ).

ທ່ານສາມາດທົດສອບໄດ້ອອກລະຫັດນີ້ສຳລັບຄຳສັບທີ່ບໍ່ມີຢູ່ໃນສະຕຣິງ.

➤ພິມລະຫັດຕໍ່ໄປນີ້

3502

➤ກົດ F5

ຜົນໄດ້ຮັບ :

ຫຼັງຈາກນັ້ນ, ທ່ານຈະໄດ້ຮັບກ່ອງຂໍ້ຄວາມຕໍ່ໄປນີ້ເຊິ່ງສະແດງຂໍ້ຄວາມ ບໍ່ພົບ .

ວິທີ-8: ການໃຊ້ຟັງຊັນ Instr ແລະ LEFT

ຢູ່ນີ້, ຂ້ອຍຈະອະທິບາຍວິທີຊອກຫາຕຳແໜ່ງຂອງສະຕຣິງຍ່ອຍໃນສະຕຣິງໃດໜຶ່ງ ແລະແຍກຂໍ້ຄວາມອອກກ່ອນສະຕຣິງຍ່ອຍນີ້ໂດຍໃຊ້ VBA ແລະ ຟັງຊັນຊ້າຍ .

ຂັ້ນຕອນ-01 :

➤ ປະຕິບັດຕາມ ຂັ້ນຕອນ-01 ຂອງ Method-1

9661

j = InStr(txt, "is") ແມ່ນຕຳແໜ່ງຂອງສະຕຣິງຍ່ອຍ ແມ່ນ ແລະ Left(txt, j - 1) ຈະແຍກສາຍຍ່ອຍກ່ອນ is .

➤ ກົດ F5

ຜົນໄດ້ຮັບ :

ຫຼັງຈາກນັ້ນ, ທ່ານຈະໄດ້ຮັບກ່ອງຂໍ້ຄວາມຕໍ່ໄປນີ້ເຊິ່ງສະແດງ ທີ່ນີ້ (substring before is ).

Method-9: Bolding ສະຕຣິງຍ່ອຍບາງອັນໃນສະຕຣິງ

ທ່ານສາມາດເຮັດຄະແນນຕົວໜາໄດ້ກ່ອນວົງເລັບໃນ ຖັນຜົນໄດ້ຮັບ ໂດຍປະຕິບັດຕາມວິທີການນີ້. d.

ຂັ້ນຕອນ-01 :

➤ ປະຕິບັດຕາມ ຂັ້ນຕອນ-01 ຂອງ ວິທີການ- 1

4047

txt = InStr(1, Cell, "(") ຈະສົ່ງຄືນຕຳແໜ່ງຂອງວົງເລັບທຳອິດ ແລະ Cell.Characters(1, txt - 1).Font.Bold ຈະສ້າງສະຕຣິງຍ່ອຍກ່ອນວົງເລັບທຳອິດ ຕົວໜາ .

ຂັ້ນຕອນ-02 :

➤ເລືອກ ຖັນຜົນໄດ້ຮັບ

➤ ໄປ ກັບ ຜູ້ພັດທະນາ Tab>> Macros Option

ຈາກນັ້ນ, ເປັນ Macro ຕົວຊ່ວຍຈະປາກົດ.

➤ເລືອກ Boldingsubstring (ຊື່ລະຫັດ VBA) ແລະຈາກນັ້ນ Run .

ຜົນໄດ້ຮັບ :

ຫຼັງຈາກນັ້ນ, ຄະແນນໃນ ຜົນໄດ້ຮັບ ຖັນ ຈະເປັນຕົວໜາ.

<49

ພາກປະຕິບັດ

ສຳລັບການຝຶກຊ້ອມດ້ວຍຕົວທ່ານເອງ ພວກເຮົາໄດ້ໃຫ້ພາກປະຕິບັດ ພາກປະຕິບັດ ຄືກັບລຸ່ມນີ້ໃນເອກະສານທີ່ມີຊື່ວ່າ Practice . ກະ​ລຸ​ນາ​ເຮັດ​ມັນ​ດ້ວຍ​ຕົວ​ທ່ານ​ເອງ.

ສະ​ຫຼຸບ

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

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