របៀបបន្លិចអត្ថបទ/ពាក្យស្ទួនក្នុងក្រឡា Excel

  • ចែករំលែកនេះ។
Michael Brown

ការបង្រៀនបង្ហាញពីរបៀបដើម្បីរំលេចពាក្យស្ទួន ឬខ្សែអក្សរនៅក្នុងក្រឡាដោយប្រើ VBA។

ការធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌ Excel ធ្វើឱ្យវាអាចបន្លិចពាក្យស្ទួនតាមវិធីដែលអ្នកអាចគិតបាន៖ ដោយមាន ឬគ្មានការកើតឡើងលើកទី 1 ក្នុងជួរឈរតែមួយ ឬជួរឈរច្រើន ក្រឡាស្ទួនជាប់គ្នា និងជួរទាំងមូលដោយផ្អែកលើតម្លៃដូចគ្នាបេះបិទនៅក្នុងជួរឈរគន្លឹះ។ ប៉ុន្តែជាធម្មតាមាន "ប៉ុន្តែ" ។ ច្បាប់ទម្រង់តាមលក្ខខណ្ឌដំណើរការលើកម្រិតក្រឡាមួយ ខណៈពេលដែលអ្នកប្រហែលជាចង់រំលេចអត្ថបទស្ទួនជាជាងក្រឡាទាំងមូល។ នេះអាចត្រូវបានធ្វើតែជាមួយម៉ាក្រូប៉ុណ្ណោះ។ ទោះបីជាអ្នកមិនមានបទពិសោធន៍ជាមួយ VBA ក៏ដោយ សូមកុំប្រញាប់បិទទំព័រនេះ។ នៅទីនេះ អ្នកនឹងឃើញឧទាហរណ៍កូដដែលត្រៀមរួចជាស្រេចសម្រាប់ប្រើ និងការណែនាំលម្អិតអំពីរបៀបប្រើពួកវានៅក្នុងសន្លឹកកិច្ចការរបស់អ្នក។

    រំលេចពាក្យស្ទួនក្នុងក្រឡាដែលមិនអើពើករណីអត្ថបទ

    ឧទាហរណ៍នេះបង្ហាញពីរបៀបដាក់ស្រមោលពាក្យស្ទួន ឬខ្សែអក្សរក្នុងក្រឡាក្នុងពណ៌ពុម្ពអក្សរពណ៌ក្រហម ដូចបង្ហាញក្នុងរូបភាពខាងក្រោម។ សូមកត់សម្គាល់ថាអក្សរតូច និងអក្សរធំត្រូវបានចាត់ទុកជាតួអក្សរដូចគ្នា។ ឧទាហរណ៍ ពណ៌ទឹកក្រូច , ORANGE និង ពណ៌ទឹកក្រូច ត្រូវបានចាត់ទុកថាជាពាក្យដូចគ្នា។

    The កូដរបស់ម៉ាក្រូមានដូចខាងក្រោម៖

    Public Sub HighlightDupesCaseInsensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "បញ្ចូលសញ្ញាកំណត់ដែលបំបែកតម្លៃក្នុងក្រឡាមួយ", "Delimiter", ", ") សម្រាប់ក្រឡានីមួយៗនៅក្នុងApplication.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, False) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Optional CaseSensitive As Boolean = True ) Dim text as String Dim words() As String String Dim wordIndex, matchCount, positionInText as Integer If CaseSensitive បន្ទាប់មក words = Split(Cell.Value, Delimiter) Else words = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (words) To UBound (words) - 1 ពាក្យ = words(wordIndex) matchCount = 0 សម្រាប់ nextWordIndex = wordIndex + 1 To UBound (words) ប្រសិនបើ word = words(nextWordIndex) បន្ទាប់មក matchCount = matchCount + 1 End ប្រសិនបើ Next NextWordIndex ប្រសិនបើ matchCount > 0 បន្ទាប់មក text = "" For Index = LBound (words) To UBound (words) text = text & words(Index) ប្រសិនបើ (words(Index) = word) បន្ទាប់មក Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End If text = text & Delimiter Next End ប្រសិនបើ Next wordIndex End Sub

    បន្លិចអត្ថបទស្ទួនក្នុងក្រឡាដែលប្រកាន់អក្សរតូចធំ

    ក្នុងស្ថានភាពភាគច្រើន យើងមានទំនោរមិនអើពើករណីអក្សរនៅពេលធ្វើការជាមួយធាតុអត្ថបទក្នុង Excel ។ ទោះយ៉ាងណាក៏ដោយ នៅក្រោមកាលៈទេសៈណាមួយ ករណីអត្ថបទមានសារៈសំខាន់។ ឧទាហរណ៍ ប្រសិនបើអ្នកកំពុងដោះស្រាយជាមួយលេខសម្គាល់ ពាក្យសម្ងាត់ ឬកំណត់ត្រាផ្សេងទៀតនៃប្រភេទនោះ ខ្សែអក្សរដូចជា 1-AA , 1-aa និង 1-Aa មិន​ត្រូវ​បាន​ចម្លង និង​មិន​គួរ​ត្រូវ​បាន​បន្លិច៖

    នៅ​ក្នុង​ករណី​នេះប្រើកំណែខាងក្រោមនៃកូដ៖

    Public Sub HighlightDupesCaseSensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "Enter the delimiter that separates values ​​in a cell", "Delimiter", ", ") សម្រាប់គ្នា Cell in Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, True) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Optional CaseSensitive As Boolean = True ) Dim text as String Dim words() As String word As String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive បន្ទាប់មក words = Split(Cell.Value, Delimiter) Else words = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (words) To UBound ( words) - 1 ពាក្យ = words(wordIndex) matchCount = 0 សម្រាប់ nextWordIndex = wordIndex + 1 To UBound (words) ប្រសិនបើ word = words(nextWordIndex) បន្ទាប់មក matchCount = matchCount + 1 End ប្រសិនបើ Next NextWordIndex ប្រសិនបើ matchCount > 0 បន្ទាប់មក text = "" For Index = LBound (words) To UBound (words) text = text & words(Index) ប្រសិនបើ (words(Index) = word) បន្ទាប់មក Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End If text = text & Delimiter Next End If Next wordIndex End Sub

    របៀបប្រើម៉ាក្រូដើម្បីរំលេចពាក្យស្ទួនក្នុង Excel

    ប្រសិនបើអ្នកជាអ្នកចាប់ផ្តើមប្រើ VBA ការណែនាំជាជំហានៗខាងក្រោមនឹងផ្តល់ភាពងាយស្រួលដល់អ្នក . អ្នកប្រើប្រាស់ដែលមានបទពិសោធន៍អាចគ្រាន់តែជ្រើសរើសតំណទាញយក ហើយរំលងនៅសល់ :)

    បន្ថែមកូដទៅសៀវភៅការងាររបស់អ្នក

    អ្នកចាប់ផ្តើមជាមួយនឹងការបញ្ចូលកូដម៉ាក្រូនៅក្នុងសៀវភៅការងារ Excel របស់អ្នក។ នេះជារបៀប៖

    1. បើកសៀវភៅការងារដែលអ្នកចង់រំលេចព័ត៌មានក្លែងក្លាយ។
    2. ចុច Alt + F11 ដើម្បីបើកកម្មវិធីនិពន្ធ Visual Basic ។
    3. នៅលើបន្ទះខាងឆ្វេង ចុចកណ្ដុរស្ដាំលើ ThisWorkbook ហើយជ្រើសរើស Insert > Module ពីម៉ឺនុយបរិបទ។
    4. Paste the code in the Code window.
    5. ដើម្បីរក្សាម៉ាក្រូសម្រាប់ការប្រើប្រាស់នាពេលអនាគត ត្រូវប្រាកដថារក្សាទុកសៀវភៅការងាររបស់អ្នកជាឯកសារ .xlsm ដែលបានបើកម៉ាក្រូ។

    ជាជម្រើស អ្នកអាចទាញយកសៀវភៅការងារគំរូរបស់យើង ហើយដំណើរការម៉ាក្រូពីទីនោះ។ សៀវភៅការងារគំរូមានម៉ាក្រូដូចខាងក្រោម៖

    • HighlightDupesCaseInsensitive - ស្រមោលស្ទួនក្នុងក្រឡាដោយមិនអើពើករណីអក្សរ។
    • HighlightDupesCaseSensitive - បន្លិច dupes ក្នុងក្រឡាដោយពិចារណាលើករណីអក្សរ។

    សម្រាប់ព័ត៌មានបន្ថែម សូមមើល របៀបបញ្ចូលកូដ VBA ក្នុង Excel។

    ដំណើរការម៉ាក្រូ

    ជាមួយលេខកូដ បានបន្ថែមទៅសៀវភៅការងារផ្ទាល់ខ្លួនរបស់អ្នក ឬឯកសារគំរូរបស់យើងដែលបានទាញយក និងបើកដំណើរការម៉ាក្រូតាមរបៀបនេះ៖

    1. នៅក្នុងសន្លឹកកិច្ចការរបស់អ្នក សូមជ្រើសរើសក្រឡាដែលអ្នកចង់រំលេចអត្ថបទស្ទួន។ នេះអាចជាជួរមួយ ឬច្រើនជួរដែលមិននៅជាប់គ្នា។
    2. ចុច Alt + F8 ។
    3. ជ្រើសរើសម៉ាក្រូដែលចាប់អារម្មណ៍ ហើយចុច រត់

    4. ម៉ាក្រូនឹងសួរអ្នកឱ្យបញ្ជាក់អ្នកកំណត់ព្រំដែនដែលបំបែកតម្លៃនៅក្នុងក្រឡាដែលបានជ្រើសរើស។ កំណត់ព្រំដែនកំណត់ជាមុន (សញ្ញាក្បៀស និងចន្លោះនៅក្នុងករណីរបស់យើង) នឹងបង្ហាញនៅក្នុងប្រអប់បញ្ចូលដោយស្វ័យប្រវត្តិ។ អាស្រ័យលើតម្រូវការរបស់អ្នក អ្នកអាចទុកសញ្ញាកំណត់លំនាំដើម ឬវាយអក្សរផ្សេង ហើយបន្ទាប់មកចុចយល់ព្រម។

    មួយសន្ទុះក្រោយមក ខ្សែអក្សរស្ទួនទាំងអស់នៅក្នុងការដែលបានជ្រើសរើស ក្រឡា​នឹង​ត្រូវ​បាន​ដាក់​ស្រមោល​ជា​ពណ៌​ក្រហម (ឬ​ពណ៌​ពុម្ព​អក្សរ​ណា​ដែល​ត្រូវ​បាន​កំណត់​ក្នុង​កូដ​របស់​អ្នក)។

    គន្លឹះ។ ដើម្បី លុបលេខស្ទួន នៅក្នុងក្រឡាមួយយ៉ាងឆាប់រហ័ស អ្នកអាចប្រើ Remove Duplicate Substrings ដែលជាឧបករណ៍សន្សំពេលវេលាមួយក្នុងចំណោមឧបករណ៍ជាច្រើនដែលរួមបញ្ចូលនៅក្នុង Ultimate Suite របស់យើង។

    របៀបកែតម្រូវកូដសម្រាប់តម្រូវការរបស់អ្នក

    ជាមួយនឹងកំណត់ចំណាំការប្រើប្រាស់ទាំងនេះ និងចំណេះដឹងជាមូលដ្ឋាននៃ VBA (ឬគ្រាន់តែធ្វើតាមការណែនាំខាងក្រោមយ៉ាងដិតដល់) អ្នកអាចកែប្រែកូដបានយ៉ាងងាយស្រួលស្របតាមតម្រូវការរបស់អ្នក។

    ដាក់នៅលើម៉ូឌុលដូចគ្នា

    ដូចដែលអ្នកអាចកត់សម្គាល់ ម៉ាក្រូទាំងពីរ ( HighlightDupesCaseSensitive និង HighlightDupesCaseInsensitive ) ហៅមុខងារ HighlightDupeWordsInCell ។ ភាពខុសគ្នារវាងម៉ាក្រូទាំងពីរខាងលើគឺមានតែនៅក្នុងប៉ារ៉ាម៉ែត្រទី 3 (CaseSensitive) ដែលបានបញ្ជូនទៅកាន់មុខងារនោះប៉ុណ្ណោះ។

    សម្រាប់ការស្វែងរកដែលប្រកាន់អក្សរតូចធំ វាត្រូវបានកំណត់ទៅ TRUE៖

    Call HighlightDupeWordsInCell(Cell, Delimiter, True)

    សម្រាប់ការស្វែងរកដែលមិនប្រកាន់អក្សរតូចធំ វាត្រូវបានកំណត់ទៅជា FALSE៖

    Call HighlightDupeWordsInCell(Cell, Delimiter, False)

    ដើម្បីឱ្យម៉ាក្រូដំណើរការ កូដនៃមុខងារ HighlightDupeWordsInCell ត្រូវតែដាក់នៅលើ ម៉ូឌុលដូចគ្នានឹងម៉ាក្រូ។

    អ្នកកំណត់ព្រំដែន

    នៅពេលដំណើរការ ម៉ាក្រូនឹងសួរអ្នកឱ្យបញ្ជាក់សញ្ញាកំណត់ដែលបំបែកពាក្យ/ខ្សែអក្សរនៅក្នុងក្រឡាដែលបានជ្រើសរើស។ ការកំណត់ព្រំដែនលំនាំដើមគឺជាសញ្ញាក្បៀស និងដកឃ្លា (", ") ហើយវាត្រូវបានកំណត់ជាមុននៅក្នុងប្រអប់បញ្ចូល៖

    Delimiter = InputBox("Specify the delimiter that separates values in a cell", "Delimiter", ", ")

    នៅក្នុងកូដរបស់អ្នក អ្នកអាចប្រើប្រាស់តួអក្សរផ្សេងទៀតដោយសេរី។ ជាការកំណត់ព្រំដែនដែលបានកំណត់ជាមុន។

    ពណ៌

    តាមលំនាំដើម មុខងារ HighlightDupeWordsInCell ស្រមោលស្ទួនជាពណ៌ពុម្ពអក្សរពណ៌ក្រហម។ ពណ៌ត្រូវបានកំណត់នៅក្នុងបន្ទាត់នេះ៖

    Cell.Characters(positionInText, Len(word)).Font.Color = vbRed

    នៅទីនេះ vbRed គឺជាប្រភេទពណ៌ VBA ថេរ។ ដើម្បីបង្ហាញការអាប់ដេតក្នុងពណ៌ផ្សេង អ្នកអាចជំនួស vbRed ដោយថេរផ្សេងទៀតដូចជា vbGreen, vbYellow, vbBlue ជាដើម។ T គាត់បញ្ជីនៃថេរពណ៌ដែលគាំទ្រអាចរកបាននៅទីនេះ។

    នោះហើយជា របៀបបន្លិចពាក្យស្ទួនក្នុងក្រឡា Excel ។ ខ្ញុំសូមអរគុណចំពោះការអាន ហើយសង្ឃឹមថានឹងបានជួបអ្នកនៅលើប្លក់របស់យើងនៅសប្តាហ៍ក្រោយ!

    ការទាញយកដែលមាន

    ឧទាហរណ៍កូដដើម្បីរំលេចការស្ទួននៅក្នុងក្រឡាមួយ (ឯកសារ .xlsm)

    Ultimate ឈុតដែលមានមុខងារពេញលេញរយៈពេល 14 ថ្ងៃ (ឯកសារ .exe)

    ម៉ៃឃើល ប្រោន ជា​អ្នក​ចូល​ចិត្ត​ផ្នែក​បច្ចេកវិទ្យា​ដែល​មាន​ចំណង់​ចំណូល​ចិត្ត​ក្នុង​ការ​សម្រួល​ដំណើរការ​ស្មុគស្មាញ​ដោយ​ប្រើ​ឧបករណ៍​កម្មវិធី។ ជាមួយនឹងបទពិសោធន៍ជាងមួយទស្សវត្សនៅក្នុងឧស្សាហកម្មបច្ចេកវិទ្យា គាត់បានពង្រឹងជំនាញរបស់គាត់នៅក្នុង Microsoft Excel និង Outlook ក៏ដូចជា Google Sheets និង Docs ។ ប្លក់របស់ម៉ៃឃើលគឺឧទ្ទិសដល់ការចែករំលែកចំណេះដឹង និងជំនាញរបស់គាត់ជាមួយអ្នកដទៃ ដោយផ្តល់នូវគន្លឹះ និងមេរៀនដែលងាយស្រួលធ្វើតាមសម្រាប់ការកែលម្អផលិតភាព និងប្រសិទ្ធភាព។ មិនថាអ្នកជាអ្នកជំនាញ ឬអ្នកចាប់ផ្តើមដំបូងទេ ប្លក់របស់ Michael ផ្តល់នូវការយល់ដឹងដ៏មានតម្លៃ និងដំបូន្មានជាក់ស្តែងសម្រាប់ការទទួលបានអត្ថប្រយោជន៍ច្រើនបំផុតពីឧបករណ៍កម្មវិធីសំខាន់ៗទាំងនេះ។