របៀបស្វែងរកខ្សែអក្សរជាមួយ 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 មិនមែនមកពីទីតាំងចាប់ផ្តើមទេ។ ដូច្នេះ អ្នកអាចទុកវាទទេប្រសិនបើអ្នកចង់បាន។
string1 ទាមទារ ខ្សែអក្សរដែលត្រូវស្វែងរកគឺ Primary String។
string2 ទាមទារ ខ្សែអក្សរដែលត្រូវស្វែងរកក្នុងខ្សែអក្សរចម្បង .
ប្រៀបធៀប ស្រេចចិត្ត មុខងារ InStr គឺប្រកាន់អក្សរតូចធំតាមលំនាំដើម។ ប៉ុន្តែប្រសិនបើអ្នកចង់ដំណើរការ case insensitive InStr នោះ អ្នកអាចឆ្លងកាត់អាគុយម៉ង់នៅទីនេះ ដើម្បីធ្វើការប្រៀបធៀបជាក់លាក់មួយ។ អាគុយម៉ង់នេះអាចមានដូចខាងក្រោមតម្លៃ
  • vbBinaryCompare -> អនុវត្តការប្រៀបធៀបប្រព័ន្ធគោលពីរ តម្លៃត្រឡប់ 0
  • vbTextCompare -> អនុវត្តការប្រៀបធៀបអត្ថបទ ត្រឡប់តម្លៃ 1
  • vbDatabaseCompare -> អនុវត្តការប្រៀបធៀបមូលដ្ឋានទិន្នន័យ តម្លៃត្រឡប់ 2

តាមលំនាំដើម InStr យក vbBinaryCompare ជាអាគុយម៉ង់ប្រៀបធៀប។

8 ឧទាហរណ៍ងាយៗដើម្បីស្វែងរកទីតាំងខ្សែអក្សរជាក់លាក់នៅក្នុងខ្សែអក្សរដែលបានផ្តល់ឱ្យដោយប្រើ VBA

សូមមើលឧទាហរណ៍សាមញ្ញមួយចំនួនដើម្បីទទួលបានទីតាំងនៃខ្សែអក្សរជាក់លាក់នៅក្នុងខ្សែអក្សរដែលបានផ្តល់ឱ្យដោយប្រើ VBA .

1. VBA ដើម្បីស្វែងរកទីតាំងនៃអត្ថបទក្នុង String

ខាងក្រោមគឺជាឧទាហរណ៍នៃ InStr ដើម្បីស្វែងរក ទីតាំងនៃអត្ថបទក្នុងខ្សែអក្សរ។

  • ចុច Alt + F11 នៅលើក្តារចុចរបស់អ្នក ឬចូលទៅកាន់ផ្ទាំង អ្នកអភិវឌ្ឍន៍ -> Visual Basic ដើម្បីបើក Visual Basic Editor

  • នៅក្នុងបង្អួចកូដលេចឡើង ពីរបារម៉ឺនុយ ចុច បញ្ចូល -> ម៉ូឌុល

  • ឥឡូវនេះនៅក្នុងបង្អួចកូដ សូមសរសេរកម្មវិធី InStr សាមញ្ញមួយនៅខាងក្នុង VBA Sub នីតិវិធី (សូមមើលខាងក្រោម)។
9105

ឥឡូវនេះលេខកូដរបស់អ្នករួចរាល់ដើម្បីដំណើរការហើយ។

  • ចុច F5 នៅលើក្តារចុចរបស់អ្នក ឬពីរបារម៉ឺនុយជ្រើសរើស រត់ -> ដំណើរការទម្រង់រង/អ្នកប្រើប្រាស់ ។ អ្នកក៏អាចចុចលើ រូបតំណាង Play តូច នៅក្នុងរបារម៉ឺនុយរង ដើម្បីដំណើរការម៉ាក្រូ។

អ្នកនឹងឃើញថា ប្រអប់សារលេចឡើងនឹងផ្តល់ឱ្យអ្នកនូវលេខ ប្រកាសទីតាំង នៃអត្ថបទដែលអ្នកចង់ពិនិត្យ។

ការពន្យល់៖

ខ្សែអក្សរចម្បងរបស់យើង “ សុភមង្គល គឺជាជម្រើស ” គឺជាប្រយោគដែលមានអក្សរ 21 (មានដកឃ្លា) ហើយយើងចង់ស្វែងរកទីតាំងនៃអត្ថបទ “ choice ” នៅក្នុងខ្សែអក្សរនោះ។ អត្ថបទ “ choice ” បានចាប់ផ្តើមពីទីតាំងទី 16 នៃខ្សែអក្សរចម្បង ដូច្នេះយើងទទួលបានលេខ 16 ជាលទ្ធផលរបស់យើងនៅក្នុងប្រអប់សារ។

<២២> ២. VBA ដើម្បីស្វែងរកអត្ថបទពីទីតាំងជាក់លាក់មួយនៅក្នុង String

ឥឡូវនេះ ចូរយើងស្វែងយល់ថាតើនឹងមានអ្វីកើតឡើង ប្រសិនបើយើងចង់ទទួលបានតំណែងពីលេខជាក់លាក់មួយ។

  • វិធីដូចគ្នា ពីមុន បើក Visual Basic Editor ពីផ្ទាំង Developer ហើយ Insert a Module នៅក្នុងបង្អួចកូដ។
  • In បង្អួចកូដ សរសេរកម្មវិធី InStr សាមញ្ញដែលបានបង្ហាញខាងលើ ហើយហុចតម្លៃក្នុងអាគុយម៉ង់ចាប់ផ្តើមដោយយោងតាមទីតាំងដែលអ្នកចង់រាប់អត្ថបទរបស់អ្នក។
3672

  • បន្ទាប់ រត់ លេខកូដ។

អ្នកនឹងឃើញថាប្រអប់សារលេចឡើងនឹង ផ្តល់ឱ្យអ្នកនូវ លេខដែលប្រកាសទីតាំង នៃអត្ថបទ ចាប់ផ្តើមពីទីតាំងជាក់លាក់មួយ ដែលអ្នកចង់ពិនិត្យ។

ការពន្យល់៖

ដូចដែលយើងបានដឹងរួចមកហើយ (ពីការពិភាក្សាដំណាក់កាលទី 1) ថាអត្ថបទ “ ជម្រើស ” បានចាប់ផ្តើមពីទីតាំងនៃ 16 ដូច្នេះយើងបានបញ្ចូល "ពីរ" ជម្រើស ” នៅក្នុងខ្សែអក្សរចម្បង ហើយកំណត់ 17 ជារបស់យើងប៉ារ៉ាម៉ែត្រទី 1 ដើម្បីរំលង “ ជម្រើស ” ដំបូង។ ដូច្នេះ យើង រត់ ម៉ាក្រូខាងលើ ហើយវាបង្ហាញយើងនូវលេខទីតាំង 27 ដែលជាលេខទីតាំងនៃ ទីពីរ ជម្រើស ” នៅក្នុងខ្សែអក្សរដែលបានផ្តល់ឱ្យ។

3. VBA ដើម្បីស្វែងរកអត្ថបទដែលមានអនុគមន៍ InStr ដែលមិនប្រកាន់អក្សរតូចធំនៅក្នុងខ្សែអក្សរ

ពីការណែនាំនៃអនុគមន៍ InStr អ្នកដឹងរួចហើយថាតាមលំនាំដើម អនុគមន៍ InStr គឺប្រកាន់អក្សរតូចធំ។ ចូរយើងស្វែងរកវាជាមួយនឹងឧទាហរណ៍មួយ។

សូមមើលកូដ VBA ខាងក្រោម ដែលយើងចង់ស្វែងរកទីតាំងនៃពាក្យ “ ជម្រើស ” ជាមួយនឹង អក្សរធំ “C” ក្នុងខ្សែអក្សរ “ សុភមង្គលគឺជាជម្រើស ” ដែលជម្រើសត្រូវបានសរសេរដោយ តូច “c” .

  • ដំណើរការ កូដ ហើយស្វែងរក 0 ជាលទ្ធផលរបស់យើង។

នោះដោយសារតែមុខងារ InStr ព្យាបាល រាជធានី “C” និង តូច “c” ខុសគ្នា។ ដូច្នេះ វាបានស្វែងរកពាក្យ “ Choice ” នៅក្នុងខ្សែអក្សរ ហើយមិនមានការផ្គូផ្គងណាមួយទេ ដូច្នេះបានត្រឡប់មកវិញ 0

  • ដើម្បីធ្វើឱ្យមុខងារ InStr case-insensitive កំណត់អាគុយម៉ង់ប្រៀបធៀបទៅជា vbTextCompare (សូមមើលខាងក្រោម)។
5772

  • រត់ លេខកូដ។

អ្នកនឹងទទួលបាន ទីតាំងនៃអត្ថបទ ពីខ្សែអក្សរ ថាតើអត្ថបទត្រូវបានសរសេរជា អក្សរធំ ឬអក្សរតូច

4. VBA ដើម្បីស្វែងរកអត្ថបទពីខាងស្តាំនៃខ្សែអក្សរ

រហូតមកដល់ពេលនេះ មុខងារ InStr គ្រាន់តែផ្តល់ឱ្យយើងនូវទីតាំងពីផ្នែកខាងឆ្វេងនៃខ្សែអក្សរប៉ុណ្ណោះ។ ប៉ុន្តែចុះយ៉ាងណាបើអ្នកចង់ស្វែងរកទីតាំងអត្ថបទពីជ្រុងខាងស្តាំនៃខ្សែអក្សរ។

មុខងារ InStrRev ស្វែងរកពីខាងស្តាំ។ មុខងារ InStrRev ដំណើរការស្រដៀងនឹងមុខងារ InStr ហើយវានឹងរកឃើញអ្នកនូវទីតាំងនៃអត្ថបទពី ផ្នែកខាងស្តាំ នៃខ្សែអក្សរ។

សូមមើលឧទាហរណ៍ខាងក្រោមដើម្បីយល់ពីភាពខុសគ្នា។

  • ប្រសិនបើយើងដំណើរការកូដខាងក្រោមជាមួយមុខងារ InStr នោះ

វាផ្តល់ឱ្យយើងនូវទីតាំង ( 16 ) នៃអត្ថបទដំបូង “ ជម្រើស ”។

  • ប៉ុន្តែប្រសិនបើយើងដំណើរការកូដដូចគ្នាជាមួយនឹងមុខងារ InStrRev នោះ

វាផ្តល់ឱ្យយើងនូវមុខតំណែង ( 27 ) នៃអត្ថបទចុងក្រោយ “ ជម្រើស ”។

ការអានស្រដៀងគ្នា៖ >

  • ស្វែងរកការផ្គូផ្គងពិតប្រាកដដោយប្រើ VBA ក្នុង Excel (5 វិធី)
  • 5. VBA ដើម្បីស្វែងរកទីតាំងនៃតួអក្សរនៅក្នុងខ្សែអក្សរ

    អ្នកក៏អាចស្វែងរកទីតាំងនៃតួអក្សរជាក់លាក់មួយនៅក្នុងខ្សែអក្សរតាមរបៀបដូចគ្នាដែលអ្នកបានរកឃើញអត្ថបទ។

    • ចម្លង កូដខាងក្រោមចូលទៅក្នុងបង្អួចកូដ VBA របស់អ្នក
    7013

    • ហើយ ដំណើរការ ម៉ាក្រូ។

    e ” ទីមួយនៅក្នុងខ្សែអក្សរដែលបានផ្តល់ឱ្យរបស់យើងគឺនៅលេខ 7 ទីតាំង។

    6. VBA ដើម្បីស្វែងរកខ្សែអក្សររងក្នុង String

    នៅទីនេះ យើងនឹងរៀនពីរបៀបស្វែងរកថាតើខ្សែអក្សរមាន substring ឬអត់។

    ដើម្បីទទួលបានវា យើងមាន ដើម្បីដំណើរការ IF Statement នៅក្នុងកូដរបស់យើង។

    • ដូចមុនដែរ បើក Visual Basic Editor ពីផ្ទាំង Developer ហើយ បញ្ចូល a ម៉ូឌុល នៅក្នុងបង្អួចកូដ។
    • នៅក្នុងបង្អួចកូដ សូមចម្លងកូដខាងក្រោម ហើយបិទភ្ជាប់វា។
    6972

    របស់អ្នក ឥឡូវនេះលេខកូដរួចរាល់សម្រាប់ដំណើរការហើយ។

    • រត់ ម៉ាក្រូ។

    ប្រសិនបើ ខ្សែអក្សររបស់អ្នកមានខ្សែអក្សររង នោះអ្នកនឹងទទួលបាន ការផ្គូផ្គងដែលបានរកឃើញ បើមិនដូច្នេះទេ វានឹងត្រឡប់រកមិនឃើញការផ្គូផ្គងទេ។ ក្នុងឧទាហរណ៍របស់យើង យើងចង់ស្វែងយល់ថាតើខ្សែអក្សរចម្បងរបស់យើង “ សុភមង្គលគឺជាជម្រើស ” មានពាក្យ “ ជម្រើស ” ឬ ទេ។ ដូចដែលវាកើតឡើង យើងទទួលបានលទ្ធផល ការប្រកួតដែលបានរកឃើញ

    7។ VBA ដើម្បីស្វែងរកខ្សែអក្សរក្នុងជួរក្រឡា

    អ្នកអាចស្វែងរកអត្ថបទជាក់លាក់មួយក្នុងជួរក្រឡានៃខ្សែអក្សរ ហើយត្រឡប់ខ្សែអក្សរជាក់លាក់មួយ។

    សូមមើលឧទាហរណ៍ខាងក្រោមដែលយើងនឹង ស្វែងរក “ វេជ្ជបណ្ឌិត ” ហើយនៅពេលដែលមានការប្រកួត វានឹងត្រឡប់ “ វេជ្ជបណ្ឌិត ”។

    • ខាងក្រោមជាកូដដើម្បីទទួលបានលទ្ធផលដែលបានពិភាក្សាខាងលើ
    4111

    • ដំណើរការ កូដ ហើយលទ្ធផលត្រូវបានបង្ហាញខាងក្រោម

    • អ្នកអាចកែប្រែម៉ាក្រូតាមតម្រូវការរបស់អ្នក។ ឧទាហរណ៍ប្រសិនបើអ្នកចង់បាន។ដើម្បីស្វែងរក “ Prof. ” នៅក្នុងក្រឡាណាមួយនៃខ្សែអក្សរ ហើយទទួលបាន “ Professor ” ជាការត្រឡប់មកវិញ បន្ទាប់មកគ្រាន់តែហុច “<1 Prof. ” ជាតម្លៃជំនួសឱ្យ “ Dr ”។ នៅក្នុងជួរទី 4 នៃម៉ាក្រូ និង “ សាស្រ្តាចារ្យ ” ជំនួសឱ្យ “ វេជ្ជបណ្ឌិត ” នៅក្នុងបន្ទាត់ទី 5 នៃម៉ាក្រូ ហើយកំណត់ ជួរក្រឡាតាមចំនួន។

    8. VBA ដើម្បីស្វែងរកខ្សែអក្សរក្នុងក្រឡា

    អ្នកក៏អាច ស្វែងរកអត្ថបទជាក់លាក់នៅក្នុងក្រឡាតែមួយនៃខ្សែអក្សរ ហើយត្រឡប់ខ្សែអក្សរជាក់លាក់មួយ។

    • ចម្លងកូដខាងក្រោម ហើយបិទភ្ជាប់វាទៅក្នុងបង្អួចកូដ។
    6035

    វានឹងស្វែងរក “ Dr. " នៅក្នុង Cell B5 ហើយប្រសិនបើវារកឃើញការផ្គូផ្គង នោះត្រឡប់ “ Doctor ” នៅក្នុង Cell C5

    • អ្នកអាចកែប្រែម៉ាក្រូតាមតម្រូវការរបស់អ្នក។ ឧទាហរណ៍ ប្រសិនបើអ្នកចង់ស្វែងរក “ Prof. ” នៅក្នុងក្រឡាណាមួយនៃខ្សែអក្សរ ហើយទទួលបាន “ Professor ” ជាការត្រឡប់មកវិញ។ បន្ទាប់មកគ្រាន់តែហុច “ Prof. ” ជាតម្លៃជំនួសឱ្យ “ Dr ”។ នៅក្នុងជួរទី 2 នៃម៉ាក្រូ និង “ សាស្រ្តាចារ្យ ” ជំនួសឱ្យ “ វេជ្ជបណ្ឌិត ” នៅក្នុងជួរទី 3 នៃម៉ាក្រូ ហើយកំណត់ លេខយោងក្រឡាស្របតាម។

    សេចក្តីសន្និដ្ឋាន

    អត្ថបទនេះបង្ហាញអ្នកពីរបៀបស្វែងរកអត្ថបទមួយចំនួនក្នុងខ្សែអក្សរក្នុង Excel ដោយប្រើ ម៉ាក្រូ VBA ។ ខ្ញុំសង្ឃឹមថាអត្ថបទនេះមានប្រយោជន៍ច្រើនសម្រាប់អ្នក។ មានអារម្មណ៍សេរីក្នុងការសួរសំណួរណាមួយទាក់ទងនឹងប្រធានបទ។

    Hugh West គឺជាគ្រូបណ្តុះបណ្តាល Excel ដែលមានបទពិសោធន៍ខ្ពស់ និងជាអ្នកវិភាគដែលមានបទពិសោធន៍ជាង 10 ឆ្នាំនៅក្នុងឧស្សាហកម្មនេះ។ លោកបានបញ្ចប់ថ្នាក់បរិញ្ញាបត្រផ្នែកគណនេយ្យ និងហិរញ្ញវត្ថុ និងបរិញ្ញាបត្រជាន់ខ្ពស់ផ្នែកគ្រប់គ្រងពាណិជ្ជកម្ម។ Hugh មានចំណង់ចំណូលចិត្តក្នុងការបង្រៀន ហើយបានបង្កើតវិធីសាស្រ្តបង្រៀនពិសេសមួយ ដែលងាយស្រួលធ្វើតាម និងយល់។ ចំណេះដឹងជំនាញ Excel របស់គាត់បានជួយសិស្សានុសិស្ស និងអ្នកជំនាញរាប់ពាន់នាក់នៅទូទាំងពិភពលោកបង្កើនជំនាញ និងពូកែក្នុងអាជីពរបស់ពួកគេ។ តាមរយៈប្លុករបស់គាត់ លោក Hugh ចែករំលែកចំណេះដឹងរបស់គាត់ជាមួយពិភពលោក ដោយផ្តល់ជូននូវការបង្រៀន Excel ដោយឥតគិតថ្លៃ និងការបណ្តុះបណ្តាលតាមអ៊ីនធឺណិត ដើម្បីជួយបុគ្គល និងអាជីវកម្មឈានដល់សក្តានុពលពេញលេញរបស់ពួកគេ។