តារាងមាតិកា
ការដឹងពីរបៀបតម្រៀបជួរដោយប្រើ VBA ក្នុង Excel គឺជាការសន្សំពេលវេលា និងការខិតខំប្រឹងប្រែងក្នុងការគណនាប្រចាំថ្ងៃរបស់យើង។ ទោះបីជា Excel ផ្តល់កន្លែងតម្រៀបតាមលំនាំដើមក៏ដោយ។ ដោយប្រើ Range.Sort method យើងទទួលបានការចូលប្រើប៉ារ៉ាម៉ែត្រជាច្រើនដើម្បីតម្រៀបសំណុំទិន្នន័យដែលមានជម្រើសច្រើនជាងធម្មតា។
ទាញយកសៀវភៅលំហាត់
ទាញយកសៀវភៅលំហាត់នេះ ដើម្បីអនុវត្តនៅពេលអ្នកកំពុងអានអត្ថបទនេះ។
តម្រៀបជួរក្នុង Excel.xlsm
ការណែនាំអំពី Range.Sort Statement ក្នុង Excel VBA
គោលបំណង៖ ដើម្បីតម្រៀបជួរនៃទិន្នន័យក្រឡា។
វាក្យសម្ព័ន្ធ៖
កន្សោម ។តម្រៀប ( Key1 , Order1 , Key2 , ប្រភេទ , Order2 , Key3 , Order3 , Header , OrderCustom , MatchCase , ការតំរង់ទិស , SortMethod , DataOption1 , DataOption2 , DataOption3 )
នៅទីនេះ កន្សោម តំណាងឱ្យ ជួរ វត្ថុ ពោលគឺ ក្រឡា ជួរដេក ជួរឈរ ឬជម្រើសនៃក្រឡា។
អាគុយម៉ង់៖
យើងត្រូវផ្តល់ បី ប៉ារ៉ាម៉ែត្រចម្បងសម្រាប់ ជួរ។ តម្រៀប វិធីសាស្ត្រ។ ពួកវាគឺ-
កូនសោ – ជួរក្រឡាពីជួរឈរតែមួយ ឬច្រើនដែលយើងត្រូវតម្រៀប។
បញ្ជាទិញ – បញ្ជាក់លំដាប់តម្រៀបផងដែរ។ ឡើង ឬចុះ។
បឋមកថា – ប្រកាសថាតើជួរឈរដែលត្រូវតម្រៀបមានបឋមកថាឬអត់។
6 ឧទាហរណ៍ដើម្បីតម្រៀបជួរក្នុង Excel VBA
ចូលអត្ថបទនេះ ជាសំណុំទិន្នន័យ យើងនឹងប្រើបញ្ជីឈ្មោះប្រជាជន ជាមួយនឹងថ្ងៃខែឆ្នាំកំណើត និងអាយុរបស់ពួកគេ។ យើងនឹងអនុវត្តវិធីផ្សេងគ្នាដើម្បីតម្រៀបសំណុំទិន្នន័យ។ តោះចូលមើលអត្ថបទ ហើយអនុវត្តដើម្បីធ្វើជាម្ចាស់នៃវិធីសាស្ត្រទាំងនេះ។
1. តម្រៀបជួរជួរជួរឈរតែមួយដោយប្រើ Excel VBA
ក្នុងឧទាហរណ៍នេះ យើងនឹង តម្រៀប មនុស្សពី ចាស់បំផុត ទៅ ក្មេងជាងគេ ។ តោះធ្វើតាមជំហានដើម្បីប្រើ ជួរ ។ តម្រៀប វិធីសាស្ត្រ ដែលនឹង តម្រៀប ជួរ អាយុ ក្នុង descending order .
ជំហាន៖
- ចូលទៅកាន់ Developer Tab ក្នុង Excel Ribbon ដើម្បី ចុច នៅលើ Visual Basic
- បន្ទាប់មកជ្រើសរើស ជម្រើសម៉ូឌុល ពី បញ្ចូលផ្ទាំង ដើម្បីបើក ម៉ូឌុលថ្មី ។
ឥឡូវនេះ យើងនឹងដាក់លេខកូដរបស់យើងទៅ តម្រៀប ជួរជួរឈរ អាយុ ។
1.1 ជួរឈរដែលមានបឋមកថា
ដាក់កូដខាងក្រោមក្នុងកម្មវិធីកែកូដដែលមើលឃើញ។
2957
ចុច F5 ឬចុចលើប៊ូតុង រត់ ដើម្បី ប្រតិបត្តិ កូដ។
ការពន្យល់៖
នៅក្នុងកូដខាងលើ យើងដាក់-
Expression (Range object)=Range(“D4:D11”); ជួរ អាយុ ជាមួយ បឋមកថា ក្នុង ក្រឡា D4 និង តម្លៃ ក្នុង D5:D11។
គ្រាប់ចុច = ជួរ(“D4”); the key សម្រាប់ ការតម្រៀប។
Order= xlDescending; ដូចដែលយើងចង់ តម្រៀប តម្លៃពី ធំបំផុត ទៅ ទាបបំផុត យើងកំណត់ លំដាប់តម្រៀប ជា ចុះមក។
បឋមកថា =xlYes; នៅក្នុងរូបថតអេក្រង់ខាងក្រោម យើងអាចឃើញថា សំណុំទិន្នន័យ មាន បឋមកថា សម្រាប់ជួរឈរនីមួយៗនៃ ។
1.2 ជួរឈរដោយគ្មានបឋមកថា
ដាក់ខាងក្រោម កូដនៅក្នុងកម្មវិធីកែកូដដែលមើលឃើញ។
1826
ចុច F5 ឬចុចលើប៊ូតុង រត់ ដើម្បី ប្រតិបត្តិ កូដ។
ការពន្យល់៖
នៅក្នុងកូដខាងលើ យើងដាក់-
Expression (Range object)=Range(“D4 :D10”); ជួរ អាយុ ដោយគ្មាន បឋមកថា មាន តម្លៃ ក្នុង D4:D10។
សោ = ជួរ(“D4”); the key សម្រាប់ ការតម្រៀប។
Order= xlDescending; ដូចដែលយើងចង់ តម្រៀប តម្លៃពី ធំបំផុត ទៅ ទាបបំផុត យើងកំណត់ លំដាប់តម្រៀប ជា ចុះក្រោម។
បឋមកថា =xlNo; នៅក្នុងរូបថតអេក្រង់ខាងក្រោម យើងអាចឃើញថា សំណុំទិន្នន័យ មិនមាន បឋមកថា។
មាតិកាដែលទាក់ទង៖ របៀបតម្រៀបជួរឈរក្នុង Excel ដោយមិនចាំបាច់លាយទិន្នន័យ (3 វិធី)
2. ការប្រើប្រាស់កូដ VBA ដើម្បីតម្រៀបជួរជួរជួរច្រើនក្នុង Excel
ដើម្បីបង្ហាញការតម្រៀបក្នុង ជួរជាច្រើន យើងត្រូវ កែប្រែ របស់យើង សំណុំទិន្នន័យ បន្តិច។ យើង បញ្ចូល ពីរបី ថ្មី ជួរ ។ នៅក្នុងសំណុំទិន្នន័យដែលបានកែប្រែ ជួរ 7, 8, និង 9 មានតម្លៃ ដូចគ្នា សម្រាប់ ថ្ងៃខែឆ្នាំកំណើត និង អាយុ ប៉ុន្តែ ឈ្មោះផ្សេងគ្នា ។ ឈ្មោះ ទាំងនេះ មិនមែន នៅក្នុងលំដាប់ជាក់លាក់ណាមួយទេ។ នៃការឡើង ឬចុះ។
ក្នុងឧទាហរណ៍នេះ យើងនឹងតម្រៀបឈ្មោះតាម លំដាប់ឡើង ។ ចូរដំណើរការកូដខាងក្រោមនៅក្នុងកម្មវិធីនិពន្ធមូលដ្ឋានដែលមើលឃើញ៖
3883
ការពន្យល់៖
នៅក្នុងខាងលើ រូបថតអេក្រង់ យើងអាចមើលឃើញថាអាយុនៅក្នុង ជួរឈរ D ត្រូវបាន តម្រៀប ក្នុង ចុះក្រោម លំដាប់។ យើងបានបន្ថែម ប៉ារ៉ាម៉ែត្រពីរទៀត នៅក្នុងកូដពីមុនរបស់យើង។
Key2: =Range(“B4”) ដែលជាគន្លឹះសម្រាប់តម្រៀបឈ្មោះ។
Order2: =xlAscending , the order for shorting names .
ជាលទ្ធផល យើងឃើញ names នៅក្នុង ជួរទី 7, 8 និង 9 ឥឡូវនេះ តាមអក្ខរក្រម តម្រៀបតាមលំដាប់ ឡើង ។
នៅក្នុងរូបថតអេក្រង់ខាងក្រោម យើងបានផ្លាស់ប្តូរ តម្លៃ នៃ Order2 parameter to sort the names in descending order.
អានបន្ថែម៖ របៀបតម្រៀបជួរឈរច្រើនក្នុង Excel (5 វិធីសាស្រ្តរហ័ស)
3. ចុចពីរដងលើបឋមកថាដើម្បីតម្រៀបជួរជួរក្នុង Excel VBA
មុខងារតម្រៀបលំនាំដើមរបស់ Excel មិនអនុញ្ញាតឱ្យ តម្រៀបតម្លៃ នៃជួរឈរដោយ ចុចពីរដងលើ the បឋមកថាជួរឈរ ។ ប៉ុន្តែការប្រើកូដ VBA យើងអាចធ្វើឱ្យវាកើតឡើង។ ចូរយើងបង្ហាញមុខងារនេះដោយអនុវត្តកូដខាងក្រោម។
3455
នៅក្នុងកូដនេះ យើងបានប្រើព្រឹត្តិការណ៍ BeforeDoubleClick ដើម្បី បិទការពីរដងធម្មតា – ចុច ដែលត្រូវចាប់ផ្តើម ការកែសម្រួល របៀបនៃក្រឡា។ ជាមួយនឹងព្រឹត្តិការណ៍នេះ។កំពុងដំណើរការ ប្រសិនបើយើង ពីរដង – ចុច នៅលើ បឋមកថាជួរឈរ វាតម្រៀបទិន្នន័យជួរឈរក្នុង លំដាប់ឡើង ។
អានបន្ថែម៖ VBA ដើម្បីតម្រៀបជួរឈរក្នុង Excel (4 Methods)
ការអានស្រដៀងគ្នា៖
- របៀបបន្ថែមប៊ូតុងតម្រៀបក្នុង Excel (7 វិធីសាស្រ្ត)
- តម្រៀបបញ្ជីពិសេសក្នុង Excel (វិធីសាស្ត្រមានប្រយោជន៍ 10)
- របៀប ដើម្បីប្រើមុខងារតម្រៀបក្នុង Excel VBA (8 ឧទាហរណ៍សមស្រប)
- តម្រៀបស្ទួនក្នុង Excel (ជួរ និងជួរ)
- តម្រៀបចៃដន្យក្នុង Excel ( រូបមន្ត + VBA)
4. តម្រៀបជួរជួរដោយផ្អែកលើពណ៌ផ្ទៃខាងក្រោយដោយប្រើ Excel VBA
យើងអាចតម្រៀបជួរក្រឡាក្នុងជួរឈរមួយ ផ្អែកលើ នៅលើ ពណ៌ផ្ទៃខាងក្រោយ<២>។ ដើម្បីធ្វើដូច្នេះ យើងត្រូវ បន្ថែម a ប៉ារ៉ាម៉ែត្រ ដែលមានឈ្មោះ SortOn ដែលមាន តម្លៃ xlSortOnCellColor ។ ដើម្បីបង្ហាញពីការតម្រៀប ដំបូងយើងកំណត់ ពណ៌ផ្ទៃខាងក្រោយ ផ្សេងគ្នាទៅជួរនៃ សំណុំទិន្នន័យ របស់យើង។
បន្ទាប់មកនៅក្នុងរូបភាពមូលដ្ឋាន កម្មវិធីកែកូដ ចម្លង កូដខាងក្រោម ហើយចុច F5 ដើម្បីដំណើរការវា។
4233
នៅក្នុងរូបថតអេក្រង់ខាងក្រោម យើងអាចមើលឃើញ សំណុំទិន្នន័យដែលបានតម្រៀប ផ្អែកលើ នៅលើពណ៌ផ្ទៃខាងក្រោយរបស់ពួកគេ។
ការពន្យល់៖
- ក្នុងឧទាហរណ៍នេះ យើងបានដាក់ឈ្មោះ សន្លឹកកិច្ចការ “ ផ្ទៃខាងក្រោយ ”។ ដូច្នេះនៅក្នុងកូដ យើងដាក់ “ ផ្ទៃខាងក្រោយ ” ជា ឈ្មោះសន្លឹកកិច្ចការសកម្មរបស់យើង។
- យើងកំណត់ B4 ជា គ្រាប់ចុច និង B4:D10 ជា ជួរ ។ កូដនឹងតម្រៀបទិន្នន័យដោយផ្អែកលើគន្លឹះ។
- ដូចដែលយើងមិនបានបញ្ជាក់ ប៉ារ៉ាម៉ែត្របឋមកថា កូដដំណើរការសម្រាប់លំនាំដើម គ្មានបឋមកថា។
- យើងកំណត់ប៉ារ៉ាម៉ែត្រ លំដាប់ ជា ឡើង ដូច្នេះវាបានតម្រៀបទិន្នន័យពីតម្លៃទាបទៅតម្លៃខ្ពស់ជាង ។
អានបន្ថែម៖ របៀបតម្រៀបតាមពណ៌ក្នុង Excel (4 លក្ខណៈវិនិច្ឆ័យ)
5. អនុវត្តកូដ VBA ដើម្បីតម្រៀបជួរជួរដោយផ្អែកលើពណ៌ពុម្ពអក្សរ
ដោយអនុវត្តកូដ VBA យើងអាចតម្រៀបសំណុំទិន្នន័យរបស់យើងដោយផ្អែកលើ ពណ៌ពុម្ពអក្សរ របស់ពួកគេ។ ដំបូង យើងត្រូវ ពណ៌ជួរផ្សេងគ្នា ដើម្បីបង្ហាញឧទាហរណ៍។
អនុវត្តកូដខាងក្រោមដើម្បីតម្រៀបសំណុំទិន្នន័យដោយផ្អែកលើ ពណ៌ពុម្ពអក្សរ។
8454
ការពន្យល់៖
- នៅក្នុងនេះ ឧទាហរណ៍ យើងបានដាក់ឈ្មោះ សន្លឹកកិច្ចការ “ fontcolor ”។ ដូច្នេះនៅក្នុងកូដ យើងដាក់ “ fontcolor ” ជា ឈ្មោះសន្លឹកកិច្ចការសកម្មរបស់យើង។
- យើងកំណត់ B4 ជា key និង B4:D11 ជា ជួរ ។ លេខកូដនឹងតម្រៀបទិន្នន័យដោយផ្អែកលើគន្លឹះ។
- ក្នុងឧទាហរណ៍នេះ យើងក៏បានបញ្ជាក់ប៉ារ៉ាម៉ែត្របឋមកថាជា xlYes ។
- នៅទីនេះ យើងកំណត់លំដាប់ ប៉ារ៉ាម៉ែត្រជា ឡើង ដូច្នេះវាបានតម្រៀបទិន្នន័យពីតម្លៃទាបទៅតម្លៃខ្ពស់ជាង ។
- តម្លៃនៃប៉ារ៉ាម៉ែត្រ SortOn គឺ
- ប៉ារ៉ាម៉ែត្រ ការតំរង់ទិស រក្សាតម្លៃ xlTopToBottom ដូចដែលវាជាកាតព្វកិច្ច។
- ពណ៌ ដើម្បីតម្រៀបលើគឺនៅក្នុងលក្ខខណ្ឌ RGB ដែល មានតម្លៃពី 0 ទៅ 255 ។
អានបន្ថែម៖ របៀបតម្រៀបជួរឈរពីរក្នុង Excel ដើម្បីផ្គូផ្គង (ទាំងពីរពិតប្រាកដ និងការផ្គូផ្គងផ្នែក)
6. ប្តូរទិសទៅតម្រៀបជួរដោយប្រើ Excel VBA
ដោយប្រើប៉ារ៉ាម៉ែត្រ ទិស យើងអាចផ្លាស់ប្តូរវិធីដែលយើងចង់តម្រៀបទិន្នន័យ។ ក្នុងឧទាហរណ៍នេះ យើងបាន បញ្ជូន សំណុំទិន្នន័យរបស់យើងទៅ តម្រៀប វា ផ្ដេក ។
តោះដាក់ ខាងក្រោមកូដនៅក្នុងកម្មវិធីនិពន្ធមូលដ្ឋានដែលមើលឃើញ ហើយចុច F5 ដើម្បីដំណើរការវា។
5872
នៅទីនេះ យើងបាន តម្រៀប ទិន្នន័យដោយផ្អែកលើ ជួរអាយុ ក្នុង ឡើង លំដាប់ពី ឆ្វេង ទៅ ស្តាំ ។ នៅក្នុងកូដ យើងកំណត់ ការតំរង់ទិស ប៉ារ៉ាម៉ែត្រជា xlSortRows ។
មាតិកាដែលទាក់ទង៖ របៀបតម្រៀបជួរឈរច្រើនដោយស្វ័យប្រវត្តិក្នុង Excel (3 វិធី)
អ្វីដែលត្រូវចងចាំ
- ប៉ារ៉ាម៉ែត្រ SortOn ដែលយើងធ្លាប់ តម្រៀប ជួរជួរឈរដោយផ្អែកលើ ពណ៌ផ្ទៃខាងក្រោយ និង ពណ៌ពុម្ពអក្សរ អាចប្រើបានតែដោយ វត្ថុសន្លឹកកិច្ចការ ប៉ុណ្ណោះ។ យើងមិនអាចប្រើវាជាមួយ range object ។
- ព្រឹត្តិការណ៍ BeforeDoubleClick តម្រៀបទិន្នន័យតែក្នុង ឡើង។
សេចក្តីសន្និដ្ឋាន
ឥឡូវនេះ យើងដឹងពីរបៀបតម្រៀបជួរដោយប្រើ VBA ក្នុង Excel។ សង្ឃឹមថា វានឹងជំរុញឱ្យអ្នកប្រើវាកាន់តែមានទំនុកចិត្ត។ រាល់ចម្ងល់ ឬសំណូមពរ កុំភ្លេចដាក់ក្នុងប្រអប់ comment ខាងក្រោម។