តារាងមាតិកា
ប្រសិនបើអ្នកកំពុងស្វែងរកវិធីងាយស្រួលបំផុតមួយចំនួនដើម្បីស្វែងរកខ្សែអក្សររងដោយប្រើ VBA នោះអ្នកគឺជាកន្លែងដែលត្រឹមត្រូវ។ បន្ទាប់ពីឆ្លងកាត់អត្ថបទនេះ អ្នកនឹងអាចស្វែងរកទីតាំងនៃ substring ឬស្រង់ទិន្នន័យដោយប្រើ substring នេះ ឬផ្លាស់ប្តូរទម្រង់នៃ substring យ៉ាងងាយស្រួល។ តោះចូលទៅក្នុងអត្ថបទ។
ទាញយកសៀវភៅការងារ
មាតិកាគំរូ
9 វិធីដើម្បីស្វែងរកខ្សែអក្សររងដោយប្រើ VBA
នៅទីនេះ ខ្ញុំមានដូចខាងក្រោម តារាងទិន្នន័យដែលខ្ញុំនឹងបង្ហាញវិធីនៃការស្វែងរកខ្សែអក្សររងក្នុងខ្សែអក្សរដោយប្រើ VBA ។ ខ្ញុំក៏នឹងព្យាយាមបង្ហាញវិធីនៃការស្វែងរកខ្សែអក្សររងក្នុងខ្សែអក្សរចៃដន្យ។
ខ្ញុំបានអនុវត្តកិច្ចការនេះដោយប្រើកំណែ Microsoft Excel 365 អ្នកអាចប្រើកំណែផ្សេងទៀតតាមភាពងាយស្រួលរបស់អ្នក។
Method-1: ស្វែងរក Substring ក្នុង String ដោយប្រើ VBA
ប្រសិនបើអ្នកចង់ស្វែងរក Substring ដែលអ្នកចង់បានក្នុង String ដោយប្រើ VBA អ្នកអាចប្រើ មុខងារ InStr នៅក្នុងកូដ VBA។
Step-01 :
➤ចូលទៅកាន់ Developer Tab>> Visual Basic ជម្រើស
បន្ទាប់មក Visual Basic Editor នឹងបើកឡើង។
➤ចូលទៅកាន់ Insert Tab>> Module Option
បន្ទាប់ពីនោះ Module នឹងត្រូវបានបង្កើត។
Step-02 :
➤ សរសេរកូដខាងក្រោម
2298
នៅទីនេះ InStr(1, “ ខ្ញុំគិតថាដូច្នេះខ្ញុំជា”, “គិត”) នឹងត្រឡប់ទីតាំងនៃខ្សែអក្សររងនៃខ្សែអក្សរមួយ។ 1 គឺទីតាំងចាប់ផ្តើម “ ខ្ញុំគិតថា ដូច្នេះខ្ញុំជា” គឺជាខ្សែអក្សរដែលអ្នកនឹងស្វែងរកខ្សែអក្សររងដែលអ្នកចង់បាន ហើយ “គិត” គឺជាខ្សែអក្សររងដែលអ្នកចង់ស្វែងរក។ វាគឺតាមលំនាំដើមដែលប្រកាន់អក្សរតូចធំ ដូច្នេះសូមប្រយ័ត្នចំពោះករណីនៃខ្សែអក្សររងរបស់អ្នកដែលអ្នកចង់ស្វែងរក។
➤ចុច F5
លទ្ធផល ៖
បន្ទាប់ពីនោះ អ្នកនឹងទទួលបាន ប្រអប់សារ ខាងក្រោមដែលមានទីតាំងនៃ “គិត” ខ្សែអក្សររង។
វិធីទី 2៖ ការស្វែងរកខ្សែអក្សររងដែលប្រកាន់អក្សរតូចធំនៅក្នុងខ្សែអក្សរ
ប្រសិនបើអ្នកចង់ស្វែងរកខ្សែអក្សររងដែលអ្នកចង់បាននៅក្នុងខ្សែអក្សរដោយមិនគិតពីករណីដោយប្រើ VBA នោះ សូមអនុវត្តតាមនេះ វិធីសាស្រ្ត។
Step-01 :
➤អនុវត្តតាម Step-01 of Method-1
6796
នៅទីនេះ vbTextCompare ត្រូវបានប្រើដើម្បីស្វែងរកខ្សែអក្សររងដែលមិនប្រកាន់អក្សរតូចធំ។
➤ចុច F5
លទ្ធផល ៖
បន្ទាប់មក អ្នកនឹងទទួលបាន ប្រអប់សារ ខាងក្រោមដែលមានទីតាំងនៃ “គិត” ខ្សែអក្សររង។
អ្នកអាចធ្វើដូចគ្នាដោយប្រើកូដខាងក្រោម។
1857
នៅទីនេះ ជម្រើសប្រៀបធៀបអត្ថបទ នឹងរកឃើញខ្សែអក្សររងដែលមិនប្រកាន់អក្សរតូចធំ។
➤ ចុច F5
លទ្ធផល :
បន្ទាប់ អ្នកនឹង នឹងទទួលបាន ប្រអប់សារ ដែលមានទីតាំងនៃ “គិត” ខ្សែអក្សររង។
វិធីសាស្ត្រ-៣៖ ការប្រើប្រាស់មុខងារ InstrRev នៅក្នុង VBA
នៅទីនេះ ខ្ញុំនឹងបង្ហាញវិធីស្វែងរកខ្សែអក្សររងពីចុង astring។
Step-01 :
➤អនុវត្តតាម Step-01 of Method-1
7768
InStrRev នឹងរកឃើញខ្សែអក្សររងពីផ្នែកខាងស្តាំជំនួសឲ្យផ្នែកខាងឆ្វេង។
➤ ចុច F5
លទ្ធផល ៖
បន្ទាប់មក អ្នកនឹងទទួលបាន ប្រអប់សារ ខាងក្រោមដែលមានទីតាំងទីពីរ “ខ្ញុំ” ខ្សែអក្សររងពី ផ្នែកខាងស្តាំ។
វិធីទី 4៖ ស្វែងរកទីតាំងនៃខ្សែអក្សររងក្នុងខ្សែអក្សរក្នុងជួរទិន្នន័យ
ប្រសិនបើអ្នកចង់ស្វែងរកតួអក្សរពិសេស “@” នៅក្នុង លេខសម្គាល់អ៊ីមែល បន្ទាប់មកធ្វើតាមវិធីនេះ។ ខ្ញុំបានបន្ថែមនៅទីនេះ ជួរឈរទីតាំង សម្រាប់គោលបំណងនេះ។
ជំហាន-01 :
➤ធ្វើតាម Step-01 of Method-1
9465
វានឹងបង្កើតមុខងារមួយដែលមានឈ្មោះថា FindSubstring (អ្នកអាចប្រើឈ្មោះផ្សេងទៀត)
តម្លៃ គឺជាការយោងក្រឡាដែលមានខ្សែអក្សរ ហើយវាត្រូវបានប្រកាសថាជា Range ។
ជំហាន -02 :
➤ ជ្រើសរើសលទ្ធផល Cell E5
➤ វាយមុខងារខាងក្រោម (បង្កើតដោយ VBA )
=FindSubstring(D5)
D5 គឺជាក្រឡាដែលមានខ្សែអក្សរ។
➤ចុច បញ្ចូល
➤អូសចុះក្រោម Fill Handle Tool
លទ្ធផល :
បន្ទាប់មក អ្នកនឹងទទួលបានតំណែងតួអក្សរពិសេស “ @” ក្នុង លេខសម្គាល់អ៊ីមែល ។
<1
ការអានស្រដៀងគ្នា៖
- របៀបស្វែងរកString in a cell using VBA in Excel (2 Methods)
- FindNext using VBA in Excel (2 Examples)
- របៀបស្វែងរក String ជាមួយ VBA ក្នុង Excel (ឧទាហរណ៍ 8)
- VBA ស្វែងរកជួរចុងក្រោយក្នុង Excel (5 វិធី)
វិធីទី 5៖ ពិនិត្យខ្សែអក្សររងមួយចំនួននៅក្នុង String in a Range of Data
ឧបមាថា អ្នកចង់សរសេរ Pass ឬ Fail to correspond ទៅឈ្មោះសិស្សអាស្រ័យលើ លទ្ធផលជួរឈរ ដែល Pass ឬ Fail ត្រូវបានសរសេរក្នុងតង្កៀបមួយ។ ដើម្បីស្វែងរកខ្សែអក្សររងនេះនៅក្នុង ជួរឈរលទ្ធផល ហើយសរសេរវានៅក្នុងជួរឈរ Pass or fail អនុវត្តតាមវិធីនេះ។
ជំហាន-01 :
➤អនុវត្តតាម ជំហាន-01 នៃ វិធីសាស្រ្ត-1
2096
នៅទីនេះ ជួរក្រឡាគឺ C5:C10 ដែលជា ជួរឈរលទ្ធផល
InStr(cell.value, “Pass”) > 0 គឺជាលក្ខខណ្ឌដែលលេខធំជាងសូន្យ (នៅពេលដែលក្រឡាមាន “Pass” ) បន្ទាប់មកបន្ទាត់ខាងក្រោមនឹងបន្ត ហើយផ្តល់លទ្ធផលនៅក្នុងក្រឡាដែលនៅជាប់គ្នាជា បានឆ្លងកាត់ .
ប្រសិនបើលក្ខខណ្ឌក្លាយជាមិនពិត មានន័យថាក្រឡាមួយមិនមាន “Pass” ទេនោះបន្ទាត់ក្រោម Else នឹងប្រតិបត្តិ និងផ្តល់តម្លៃលទ្ធផលនៅក្នុង ក្រឡាជាប់គ្នាជា បានបរាជ័យ ។
រង្វិលជុំនេះនឹងបន្តសម្រាប់ក្រឡានីមួយៗ។
➤ចុច F5
លទ្ធផល :
បន្ទាប់មក អ្នកនឹងទទួលបានលទ្ធផលដូចខាងក្រោមនៅក្នុង Pass ឬបរាជ័យ column.
Method-6: ពិនិត្យខ្សែអក្សររងមួយចំនួននៅក្នុង String និងការស្រង់ទិន្នន័យ
ខ្ញុំនឹងបង្ហាញវិធីស្វែងរកសិស្សដែលមានឈ្មោះ Michael ក្នុង ជួរឈរឈ្មោះសិស្ស ហើយស្រង់ទិន្នន័យដែលត្រូវគ្នារបស់ពួកគេដោយប្រើ VBA នៅក្នុងវិធីនេះ។
ជំហាន-01 :
➤អនុវត្តតាម ជំហាន-01 នៃ វិធីសាស្រ្ត-1
2463
នៅទីនេះ ខ្ញុំបានប្រើ B100 ជា ជួរសន្លឹកសកម្ម ប៉ុន្តែអ្នកអាចប្រើជួរណាមួយតាមការប្រើប្រាស់របស់អ្នក។
InStr(1, Range("B" & i), "Michael") > 0
គឺជាលក្ខខណ្ឌសម្រាប់ពិនិត្យមើលថាតើក្រឡានៅក្នុង ជួរឈរ B មាន Michael
Range("E" & icount & ":G" & icount)
គឺជាជួរដែលអ្នកចង់បានទិន្នន័យលទ្ធផលរបស់អ្នក ហើយ Range("B" & i & ":D" & i).value
នឹងផ្តល់តម្លៃ ពីជួរឈរ B ទៅ D ។
➤ ចុច F5
លទ្ធផល :
បន្ទាប់ពីនោះ អ្នកនឹងទទួលបានទិន្នន័យដកស្រង់ខាងក្រោមសម្រាប់សិស្សដែលមានឈ្មោះ Michael ។
វិធីទី៧៖ ស្វែងរកខ្សែអក្សររងសម្រាប់ពាក្យ
ប្រសិនបើអ្នកចង់ស្វែងរកខ្សែអក្សររងជាពាក្យមួយ បន្ទាប់មកធ្វើតាម បន្ថយវិធីសាស្រ្តនេះ។
Step-01 :
➤អនុវត្តតាម Step-01 of Method-1
7698
វានឹងពិនិត្យមើលថាតើខ្សែអក្សរមាន គឺ ហើយបន្ទាប់មកទីតាំងរបស់វានឹងត្រូវបានផ្តល់ឱ្យ
➤ចុច F5
លទ្ធផល :
បន្ទាប់មក អ្នកនឹងទទួលបានប្រអប់សារខាងក្រោមដែលបង្ហាញ ពាក្យដែលរកឃើញក្នុងទីតាំង៖ 6 (ទីតាំងនៃ is )។
អ្នកអាចសាកល្បងបាន។ចេញកូដនេះសម្រាប់ពាក្យដែលមិនមាននៅក្នុងខ្សែអក្សរ។
➤វាយកូដខាងក្រោម
4501
➤ចុច F5
លទ្ធផល :
បន្ទាប់មក អ្នកនឹងទទួលបានប្រអប់សារខាងក្រោមដែលបង្ហាញ ពាក្យរកមិនឃើញ ។
Method-8: ដោយប្រើមុខងារ Instr និង LEFT
នៅទីនេះ ខ្ញុំនឹងពន្យល់ពីវិធីស្វែងរកទីតាំងនៃ substring ក្នុង string ហើយស្រង់អត្ថបទមុន substring នេះដោយប្រើ VBA និង អនុគមន៍ខាងឆ្វេង ។
ជំហាន-01 :
➤អនុវត្តតាម ជំហាន-01 នៃ វិធីសាស្រ្ត-1
7202
j = InStr(txt, "is")
គឺជាទីតាំងនៃខ្សែអក្សររង គឺ ហើយ Left(txt, j - 1)
នឹងទាញយកខ្សែអក្សររងមុន is ។
➤ ចុច F5
លទ្ធផល :
បន្ទាប់មក អ្នកនឹងទទួលបានប្រអប់សារខាងក្រោមដែលបង្ហាញ នៅទីនេះ (អក្សររងមុន គឺ )។
Method-9: Bolding ខ្សែអក្សររងមួយចំនួននៅក្នុង String
អ្នកអាចដិតចំណាត់ថ្នាក់មុនពេលតង្កៀបនៅក្នុង លទ្ធផលជួរឈរ ដោយធ្វើតាមវិធីសាស្រ្តនេះ ឃ.
ជំហាន-01 :
➤អនុវត្តតាម ជំហាន-01 នៃ វិធីសាស្ត្រ- 1
8543
txt = InStr(1, Cell, "(")
នឹងត្រឡប់ទីតាំងនៃតង្កៀបទីមួយ ហើយ Cell.Characters(1, txt - 1).Font.Bold
នឹងបង្កើតខ្សែអក្សររងមុនតង្កៀបទីមួយ ដិត ។
ជំហាន-02 :
➤ ជ្រើសរើស ជួរលទ្ធផល
➤ ទៅ ទៅ អ្នកអភិវឌ្ឍន៍ Tab>> Macros ជម្រើស
បន្ទាប់មក ម៉ាក្រូ អ្នកជំនួយការនឹងលេចឡើង។
➤ជ្រើសរើស Boldingsubstring (ឈ្មោះកូដ VBA) ហើយបន្ទាប់មក រត់ ។
លទ្ធផល :
បន្ទាប់ពីនោះ ថ្នាក់នៅក្នុង លទ្ធផល ជួរ នឹងប្រែជាដិត។
ផ្នែកអនុវត្តន៍
សម្រាប់ការអនុវត្តន៍ដោយខ្លួនឯង យើងបានផ្តល់ផ្នែក Practice ដូចខាងក្រោមនៅក្នុងសន្លឹកមួយដែលមានឈ្មោះថា Practice ។ សូមធ្វើវាដោយខ្លួនអ្នក។
សេចក្តីសន្និដ្ឋាន
នៅក្នុងអត្ថបទនេះ ខ្ញុំបានព្យាយាមរៀបរាប់ពីវិធីងាយស្រួលបំផុតក្នុងការស្វែងរកខ្សែអក្សររងដោយប្រើ VBA នៅក្នុង Excel ប្រកបដោយប្រសិទ្ធភាព។ សង្ឃឹមថាអ្នកនឹងយល់ថាវាមានប្រយោជន៍។ ប្រសិនបើអ្នកមានសំណូមពរ ឬចម្ងល់ផ្សេងៗ សូមចែករំលែកវាជាមួយពួកយើង។