ວິທີການຊອກຫາ String ກັບ VBA ໃນ Excel (8 ຕົວຢ່າງ)

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

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

VBA ເພື່ອຊອກຫາໃນ String.xlsm

ຟັງຊັນ InStr

Microsoft Excel ມີຟັງຊັນໃນຕົວທີ່ເອີ້ນວ່າ ຟັງຊັນ InStr ເພື່ອຊອກຫາຕໍາແໜ່ງຂອງສະຕຣິງສະເພາະໃນ String ທີ່ໃຫ້ໄວ້.

ໄວຍະກອນທົ່ວໄປ:

InStr([start], string1, string2, [compare])

ຢູ່ນີ້,

ອາກິວເມັນ ຕ້ອງການ/ທາງເລືອກ ນິຍາມ
ເລີ່ມຕົ້ນ ທາງເລືອກ ຈຸດເລີ່ມຕົ້ນຂອງການຄົ້ນຫາ.
  • ໂດຍຄ່າເລີ່ມຕົ້ນ, ຟັງຊັນ InStr ຈະຄິດໄລ່ຕຳແໜ່ງຕົວອັກສອນໂດຍການນັບຈາກ 1, ບໍ່ແມ່ນຈາກຕຳແໜ່ງເລີ່ມຕົ້ນ. ດັ່ງນັ້ນ, ທ່ານສາມາດປ່ອຍອັນນີ້ຫວ່າງໄວ້ໄດ້ຫາກທ່ານຕ້ອງການ. ສະຕຣິງທີ່ຈະຄົ້ນຫາໃນ, Primary String.
string2 ຕ້ອງການ ສະຕຣິງທີ່ຈະຄົ້ນຫາໃນສະຕຣິງຫຼັກ .
ປຽບທຽບ ທາງເລືອກ ຟັງຊັນ InStr ແມ່ນຕົວພິມນ້ອຍໃຫຍ່ຕາມຄ່າເລີ່ມຕົ້ນ. ແຕ່ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະດໍາເນີນການກໍລະນີທີ່ບໍ່ມີຄວາມຮູ້ສຶກ InStr , ຫຼັງຈາກນັ້ນທ່ານສາມາດຜ່ານ argument ທີ່ນີ້ເພື່ອປະຕິບັດການປຽບທຽບສະເພາະໃດຫນຶ່ງ. ການໂຕ້ຖຽງນີ້ສາມາດເປັນດັ່ງຕໍ່ໄປນີ້ຄ່າ,
  • vbBinaryCompare -> ປະຕິບັດການປຽບທຽບຄູ່, ຄ່າກັບຄືນ 0
  • vbTextCompare -> ປະຕິບັດການປຽບທຽບຂໍ້ຄວາມ, ກັບຄ່າ 1
  • vbDatabaseCompare -> ປະຕິບັດການປຽບທຽບຖານຂໍ້ມູນ, ກັບຄືນຄ່າ 2

ໂດຍຄ່າເລີ່ມຕົ້ນ, InStr ໃຊ້ vbBinaryCompare ເປັນຕົວໂຕ້ແຍ້ງປຽບທຽບ.

8 ຕົວຢ່າງງ່າຍໆເພື່ອຊອກຫາຕຳແໜ່ງສະຕຣິງສະເພາະໃນສະຕຣິງທີ່ໃຫ້ມາໂດຍໃຊ້ VBA

ລອງມາເບິ່ງຕົວຢ່າງງ່າຍໆເພື່ອເອົາຕຳແໜ່ງຂອງສະຕຣິງໃດໜຶ່ງໃນສະຕຣິງທີ່ໃຫ້ມາໂດຍໃຊ້ VBA .

1. VBA ເພື່ອຊອກຫາຕໍາແຫນ່ງຂອງຂໍ້ຄວາມໃນ String

ຂ້າງລຸ່ມນີ້ແມ່ນຕົວຢ່າງຂອງ InStr ເພື່ອຊອກຫາ ຕຳແໜ່ງຂອງຂໍ້ຄວາມໃນສະຕຣິງໃດໜຶ່ງ.

  • ກົດ Alt + F11 ເທິງແປ້ນພິມຂອງທ່ານ ຫຼືໄປທີ່ແຖບ ຜູ້ພັດທະນາ -> Visual Basic ເພື່ອເປີດ Visual Basic Editor .

  • ຢູ່ໃນປ່ອງຢ້ຽມປ໊ອບອັບລະຫັດ, ຈາກແຖບເມນູ , ຄລິກ Insert -> ໂມດູນ .

  • ຕອນນີ້ຢູ່ໃນປ່ອງຢ້ຽມລະຫັດ, ຂຽນໂປຣແກຣມ InStr ງ່າຍໆພາຍໃນ VBA Sub ຂັ້ນຕອນ (ເບິ່ງຂ້າງລຸ່ມນີ້).
4795

ຕອນນີ້ລະຫັດຂອງທ່ານພ້ອມທີ່ຈະດໍາເນີນການແລ້ວ.

  • ກົດ F5 ໃນ​ແປ້ນ​ພິມ​ຂອງ​ທ່ານ​ຫຼື​ຈາກ​ແຖບ​ເມ​ນູ​ເລືອກ Run ->​; ດໍາເນີນການ Sub/UserForm . ນອກນັ້ນທ່ານຍັງສາມາດຄລິກໃສ່ ໄອຄອນຫຼິ້ນຂະຫນາດນ້ອຍ ໃນແຖບເມນູຍ່ອຍເພື່ອດໍາເນີນການ macro ໄດ້.

ທ່ານຈະເຫັນວ່າ ກ່ອງຂໍ້ຄວາມປັອບອັບຈະໃຫ້ ໝາຍເລກປະກາດຕຳແໜ່ງ ຂອງຂໍ້ຄວາມທີ່ທ່ານຕ້ອງການກວດສອບ.

ຄຳອະທິບາຍ:

ສະຕຣິງຫຼັກຂອງພວກເຮົາ, “ ຄວາມສຸກ ເປັນທາງເລືອກ ” ເປັນປະໂຫຍກຕົວອັກສອນ 21 ໂຕ (ມີຍະຫວ່າງ) ແລະພວກເຮົາຕ້ອງການຊອກຫາຕຳແໜ່ງຂອງຂໍ້ຄວາມ “ ທາງເລືອກ ” ໃນສະຕຣິງນັ້ນ. ຂໍ້ຄວາມ “ choice ” ເລີ່ມຈາກຕຳແໜ່ງທີ 16 ຂອງສາຍຫຼັກ, ດັ່ງນັ້ນພວກເຮົາຈຶ່ງໄດ້ຮັບຕົວເລກ 16 ເປັນຜົນຜະລິດຂອງພວກເຮົາໃນກ່ອງຂໍ້ຄວາມ.

2. VBA ເພື່ອຊອກຫາຂໍ້ຄວາມຈາກຕໍາແໜ່ງສະເພາະໃນສະຕຣິງ

ຕອນນີ້ໃຫ້ຊອກຫາສິ່ງທີ່ຈະເກີດຂຶ້ນຖ້າພວກເຮົາຕ້ອງການເອົາຕໍາແໜ່ງຈາກຕົວເລກທີ່ແນ່ນອນ.

  • ວິທີດຽວກັນກັບ ກ່ອນ, ເປີດ Visual Basic Editor ຈາກແຖບ ຜູ້ພັດທະນາ ແລະ Insert a Module ໃນປ່ອງຢ້ຽມລະຫັດ.
  • ໃນ ປ່ອງຢ້ຽມລະຫັດ, ຂຽນໂຄງການ InStr ງ່າຍດາຍທີ່ສະແດງຢູ່ຂ້າງເທິງແລະສົ່ງຄ່າໃນ argument ເລີ່ມຕົ້ນຕາມຕໍາແຫນ່ງທີ່ທ່ານຕ້ອງການທີ່ຈະນັບຂໍ້ຄວາມຂອງທ່ານຈາກ.
6125

  • ຕໍ່ໄປ, ແລ່ນ ລະຫັດ.

ທ່ານຈະເຫັນວ່າກ່ອງຂໍ້ຄວາມປັອບອັບຈະ ໃຫ້ ຕົວເລກປະກາດຕຳແໜ່ງ ຂອງຂໍ້ຄວາມ ເລີ່ມຈາກຕຳແໜ່ງໃດໜຶ່ງ ທີ່ທ່ານຕ້ອງການກວດສອບ.

ຄຳອະທິບາຍ:

ດັ່ງທີ່ພວກເຮົາຮູ້ແລ້ວ (ຈາກການສົນທະນາໄລຍະ 1) ວ່າຂໍ້ຄວາມ “ ທາງເລືອກ ” ເລີ່ມຈາກຕຳແໜ່ງຂອງ 16 , ດັ່ງນັ້ນພວກເຮົາຈຶ່ງໃສ່ສອງ “ ທາງເລືອກ ” ໃນສະຕຣິງຫຼັກ ແລະຕັ້ງ 17 ເປັນຂອງພວກເຮົາ.ພາຣາມິເຕີທີ 1 ເພື່ອຂ້າມ “ ທາງເລືອກ ” ທຳອິດ. ດັ່ງນັ້ນ, ພວກເຮົາ Run macro ຂ້າງເທິງນີ້ ແລະມັນສະແດງໃຫ້ພວກເຮົາເຫັນຕຳແໜ່ງ 27 ເຊິ່ງເປັນຕົວເລກຕຳແໜ່ງຂອງ ວິນາທີ ທາງເລືອກ ” ໃນສະຕຣິງທີ່ໃຫ້ໄວ້.

3. VBA ເພື່ອຊອກຫາຂໍ້ຄວາມທີ່ມີຟັງຊັນ InStr ທີ່ບໍ່ອ່ອນໄຫວຕໍ່ກັບຕົວພິມນ້ອຍໃນສະຕຣິງ

ຈາກການແນະນໍາຂອງຟັງຊັນ InStr ທີ່ທ່ານຮູ້ແລ້ວວ່າໂດຍຄ່າເລີ່ມຕົ້ນ, ຟັງຊັນ InStr ແມ່ນຕົວພິມນ້ອຍໃຫຍ່. ໃຫ້ຊອກຫາມັນດ້ວຍຕົວຢ່າງ.

ເບິ່ງລະຫັດ VBA ຕໍ່ໄປນີ້, ບ່ອນທີ່ພວກເຮົາຕ້ອງການຊອກຫາຕໍາແຫນ່ງຂອງຄໍາວ່າ “ ທາງເລືອກ ” ພ້ອມກັບ ຕົວພິມໃຫຍ່ “C” ໃນສະຕຣິງ “ ຄວາມສຸກແມ່ນທາງເລືອກ ” ບ່ອນທີ່ທາງເລືອກຖືກຂຽນດ້ວຍ “c” ຂະໜາດນ້ອຍ .

  • ແລ່ນ ລະຫັດ ແລະຊອກຫາ 0 ເປັນຜົນຜະລິດຂອງພວກເຮົາ.

ນັ້ນແມ່ນຍ້ອນວ່າຟັງຊັນ InStr ປະຕິບັດຕໍ່ ຕົວພິມໃຫຍ່ “C” ແລະ ຂະໜາດນ້ອຍ “c” ແຕກຕ່າງກັນ. ສະນັ້ນມັນຊອກຫາຄຳສັບ “ Choice ” ໃນສະຕຣິງ ແລະ ບໍ່ໄດ້ກົງກັນເລີຍ, ດັ່ງນັ້ນຈຶ່ງສົ່ງກັບ 0 .

  • ເພື່ອເຮັດໃຫ້ຟັງຊັນ InStr case-insensitive , ໃຫ້ຕັ້ງການປຽບທຽບ argument ເປັນ vbTextCompare (ເບິ່ງຂ້າງລຸ່ມນີ້).
5171

  • ແລ່ນ ລະຫັດ.

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

4. VBA ເພື່ອຊອກຫາຂໍ້ຄວາມຈາກເບື້ອງຂວາຂອງສະຕຣິງ

ຈົນ​ຮອດ​ປັດ​ຈຸ​ບັນ InStr ຟັງ​ຊັນ​ແມ່ນ​ພຽງ​ແຕ່​ໃຫ້​ພວກ​ເຮົາ​ຕັ້ງ​ຕໍາ​ແຫນ່ງ​ຈາກ​ເບື້ອງ​ຊ້າຍ​ຂອງ​ສະ​ຕ​ຣິງ. ແຕ່ຈະເຮັດແນວໃດຫາກທ່ານຕ້ອງການຊອກຫາຕຳແໜ່ງຂໍ້ຄວາມຈາກເບື້ອງຂວາຂອງສະຕຣິງ.

ຟັງຊັນ InStrRev ຊອກຫາຈາກທາງຂວາ. ຟັງຊັນ InStrRev ເຮັດວຽກຄ້າຍຄືກັນກັບຟັງຊັນ InStr ແລະມັນຈະຊອກຫາທ່ານຕຳແໜ່ງຂອງຂໍ້ຄວາມຈາກ ເບື້ອງຂວາ ຂອງສະຕຣິງ.

ເບິ່ງຕົວຢ່າງຕໍ່ໄປນີ້ເພື່ອເຂົ້າໃຈຄວາມແຕກຕ່າງ.

  • ຖ້າພວກເຮົາແລ່ນລະຫັດຕໍ່ໄປນີ້ດ້ວຍຟັງຊັນ InStr ,

ມັນເຮັດໃຫ້ພວກເຮົາມີຕຳແໜ່ງ ( 16 ) ຂອງຂໍ້ຄວາມທຳອິດ “ ທາງເລືອກ ”.

  • ແຕ່ຖ້າພວກເຮົາແລ່ນລະຫັດດຽວກັນກັບ InStrRev Function ແລ້ວ,

ມັນເຮັດໃຫ້ພວກເຮົາມີຕໍາແຫນ່ງ. ( 27 ) ຂອງຂໍ້ຄວາມສຸດທ້າຍ “ ທາງເລືອກ ”.

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

  • ຊອກຫາຕໍ່ໄປໂດຍໃຊ້ VBA ໃນ Excel (2 ຕົວຢ່າງ)
  • ວິທີຊອກຫາ ແລະປ່ຽນແທນການໃຊ້ VBA (11 ວິທີ)
  • ຊອກຫາການຈັບຄູ່ທີ່ແນ່ນອນໂດຍໃຊ້ VBA ໃນ Excel (5 ວິທີ)

5. VBA ເພື່ອຊອກຫາຕຳແໜ່ງຂອງຕົວອັກສອນໃນສະຕຣິງ

ນອກນັ້ນທ່ານຍັງສາມາດຊອກຫາຕຳແໜ່ງຂອງຕົວອັກສອນໃດນຶ່ງໃນສະຕຣິງໄດ້ໃນແບບດຽວກັນທີ່ທ່ານພົບຂໍ້ຄວາມ.

  • ສຳເນົາ ລະຫັດຕໍ່ໄປນີ້ເຂົ້າໄປໃນ VBA window code
7472

  • ແລະ ແລ່ນ macro.

e ” ທຳອິດໃນສະຕຣິງທີ່ໃຫ້ຂອງພວກເຮົາແມ່ນຢູ່ທີ່ຕົວເລກ 7 ຕໍາແໜ່ງ.

6. VBA ເພື່ອຊອກຫາສະຕຣິງຍ່ອຍໃນສະຕຣິງ

ນີ້ພວກເຮົາຈະຮຽນຮູ້ວິທີຊອກຫາວ່າສະຕຣິງໃດນຶ່ງມີ ສະຕຣິງຍ່ອຍ ຫຼືບໍ່.

ເພື່ອໃຫ້ໄດ້ນັ້ນ, ພວກເຮົາມີ ເພື່ອດໍາເນີນການ IF Statement ໃນລະຫັດຂອງພວກເຮົາ.

  • ວິທີດຽວກັນ, ເປີດ Visual Basic Editor ຈາກແຖບ ຜູ້ພັດທະນາ ແລະ ໃສ່ a ໂມດູນ ໃນປ່ອງຢ້ຽມລະຫັດ. ຕອນນີ້ລະຫັດພ້ອມເປີດໃຊ້ແລ້ວ.

    • ແລ່ນ ມາໂຄຣ.

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

    7. VBA ເພື່ອຊອກຫາ String ໃນຊ່ວງເຊລ

    ເຈົ້າສາມາດຄົ້ນຫາຂໍ້ຄວາມໃດນຶ່ງໃນຂອບເຂດເຊລຂອງສະຕຣິງ ແລະສົ່ງຄືນສະຕຣິງທີ່ແນ່ນອນໄດ້.

    ເບິ່ງຕົວຢ່າງຕໍ່ໄປນີ້ບ່ອນທີ່ພວກເຮົາຈະ ຊອກຫາ “ ດຣ. ” ແລະ ເມື່ອມີການແຂ່ງຂັນກັນ ມັນຈະກັບຄືນມາ “ ທ່ານໝໍ ”.

    • ລຸ່ມນີ້ແມ່ນລະຫັດເພື່ອເອົາຜົນໄດ້ຮັບທີ່ໄດ້ກ່າວມາຂ້າງເທິງ,
    3819

    • ດໍາເນີນການ the ລະຫັດແລະຜົນໄດ້ຮັບແມ່ນສະແດງໃຫ້ເຫັນຂ້າງລຸ່ມນີ້

    • ທ່ານສາມາດດັດແປງ macro ຕາມຄວາມຕ້ອງການຂອງທ່ານ. ສໍາລັບຕົວຢ່າງ, ຖ້າທ່ານຕ້ອງການເພື່ອຊອກຫາ “ Prof. ” ໃນຕາລາງໃດນຶ່ງຂອງສະຕຣິງ, ແລະໄດ້ຮັບ “ Professor ” ເປັນຜົນຕອບແທນ, ຈາກນັ້ນພຽງແຕ່ຜ່ານ “<1. Prof. ” ເປັນຄ່າແທນ “ Dr .” ໃນແຖວທີ 4 ຂອງມະຫາພາກ ແລະ “ ອາຈານ ” ແທນ “ ທ່ານໝໍ ” ໃນແຖວທີ 5 ຂອງມະຫາພາກ ແລະກຳນົດຄ່າ ຕົວເລກຊ່ວງຕາລາງຕາມຄວາມເໝາະສົມ.

    8. VBA ເພື່ອຊອກຫາ String ໃນ Cell

    ນອກນັ້ນທ່ານຍັງສາມາດ ຊອກຫາຂໍ້ຄວາມໃດນຶ່ງໃນເຊລດຽວຂອງ String ແລະສົ່ງຄືນ String ທີ່ແນ່ນອນໄດ້.

    • ສຳເນົາລະຫັດຕໍ່ໄປນີ້ແລ້ວວາງໃສ່ໜ້າຕ່າງລະຫັດ.
    7233

    ມັນຈະຊອກຫາ “ ດຣ. ” ໃນ Cell B5 ແລະຖ້າມັນພົບກົງກັນແລ້ວສົ່ງກັບ “ Doctor ” ໃນ Cell C5 .

    • ທ່ານ​ສາ​ມາດ​ປັບ​ປຸງ​ແກ້​ໄຂ​ມະ​ຫາ​ພາກ​ຕາມ​ຄວາມ​ຕ້ອງ​ການ​ຂອງ​ທ່ານ​. ຕົວຢ່າງ: ຖ້າທ່ານຕ້ອງການຊອກຫາ “ Prof. ” ຢູ່ໃນຕາລາງໃດນຶ່ງຂອງສະຕຣິງ, ແລະເອົາ “ ອາຈານ ” ເປັນຜົນຕອບແທນ, ຈາກນັ້ນພຽງແຕ່ຜ່ານ “ Prof. ” ເປັນຄ່າແທນ “ Dr .” ໃນແຖວທີ 2 ຂອງມະຫາພາກ ແລະ “ ອາຈານ ” ແທນ “ ທ່ານໝໍ ” ໃນແຖວທີ 3 ຂອງມະຫາພາກ ແລະກຳນົດຄ່າ ຈໍານວນການອ້າງອິງຕາລາງຕາມຄວາມເຫມາະສົມ.

    ບົດສະຫຼຸບ

    ບົດຄວາມນີ້ໄດ້ສະແດງໃຫ້ທ່ານເຫັນວິທີຊອກຫາຂໍ້ຄວາມບາງຢ່າງໃນສະຕຣິງໃນ Excel ໂດຍໃຊ້ VBA macro. ຂ້ອຍຫວັງວ່າບົດຄວາມນີ້ຈະເປັນປະໂຫຍດຫຼາຍຕໍ່ເຈົ້າ. ຮູ້ສຶກບໍ່ເສຍຄ່າທີ່ຈະຖາມຄໍາຖາມໃດໆກ່ຽວກັບຫົວຂໍ້.

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