សំរបសំរួលការជ្រើសរើស

អ្នកមានម៉ូនីទ័រធំ ប៉ុន្តែតារាងដែលអ្នកធ្វើការជាមួយគឺធំជាង។ ហើយការក្រឡេកមើលអេក្រង់ដើម្បីស្វែងរកព័ត៌មានចាំបាច់ វាតែងតែមានឱកាស "រអិល" ភ្នែករបស់អ្នកទៅជួរបន្ទាប់ ហើយមើលទៅក្នុងទិសដៅខុស។ ខ្ញុំថែមទាំងស្គាល់មនុស្សដែលសម្រាប់ឱកាសបែបនេះ តែងតែរក្សារនាំងឈើនៅជិតពួកគេ ដើម្បីភ្ជាប់វាទៅនឹងបន្ទាត់នៅលើម៉ូនីទ័រ។ បច្ចេកវិទ្យានៃអនាគត! 

ហើយប្រសិនបើជួរដេក និងជួរឈរបច្ចុប្បន្នត្រូវបានបន្លិច នៅពេលដែលក្រឡាសកម្មផ្លាស់ទីឆ្លងកាត់សន្លឹក? ប្រភេទនៃការជ្រើសរើសសំរបសំរួលដូចនេះ៖

ប្រសើរជាងអ្នកគ្រប់គ្រងមែនទេ?

មានវិធីជាច្រើននៃភាពស្មុគស្មាញផ្សេងៗគ្នាដើម្បីអនុវត្តវា។ វិធីសាស្រ្តនីមួយៗមានគុណសម្បត្តិ និងគុណវិបត្តិរបស់វា។ តោះមើលពួកវាឱ្យបានលំអិត។

វិធីសាស្រ្ត 1. ជាក់ស្តែង។ ម៉ាក្រូ​ដែល​រំលេច​ជួរ​ដេក និង​ជួរ​ឈរ​បច្ចុប្បន្ន

វិធីជាក់ស្តែងបំផុតដើម្បីដោះស្រាយបញ្ហារបស់យើង "នៅលើថ្ងាស" - យើងត្រូវការម៉ាក្រូដែលនឹងតាមដានការផ្លាស់ប្តូរនៅក្នុងការជ្រើសរើសនៅលើសន្លឹក ហើយជ្រើសរើសជួរដេក និងជួរឈរទាំងមូលសម្រាប់ក្រឡាបច្ចុប្បន្ន។ វាក៏គួរឱ្យចង់បានផងដែរក្នុងការបើក និងបិទមុខងារនេះប្រសិនបើចាំបាច់ ដូច្នេះការជ្រើសរើសរាងឈើឆ្កាងបែបនេះមិនរារាំងយើងពីការបញ្ចូលឧទាហរណ៍ រូបមន្ត ប៉ុន្តែដំណើរការបានតែនៅពេលដែលយើងមើលក្នុងបញ្ជីដើម្បីស្វែងរកចាំបាច់។ ព័ត៌មាន។ វានាំយើងទៅកាន់ម៉ាក្រូបី (ជ្រើសរើស បើក និងបិទ) ដែលនឹងត្រូវបញ្ចូលទៅក្នុងម៉ូឌុលសន្លឹក។

បើកសន្លឹកដែលមានតារាងដែលអ្នកចង់ទទួលបានជម្រើសសំរបសំរួលបែបនេះ។ ចុចកណ្ដុរស្ដាំលើផ្ទាំងសន្លឹក ហើយជ្រើសរើសពាក្យបញ្ជាពីម៉ឺនុយបរិបទ ប្រភពអត្ថបទ (ប្រភព​កូដ)។បង្អួច Visual Basic Editor គួរតែបើក។ ចម្លងអត្ថបទនៃម៉ាក្រូទាំងបីនេះទៅក្នុងវា៖

Dim Coord_Selection As Boolean 'Global variable for selection on/off Sub Selection_On() 'Macro on selection Coord_Selection = True End Sub Selection_Off() ' Macro off selection Coord_Selection = False End Sub ' នីតិវិធីចម្បងដែលអនុវត្តការជ្រើសរើស Private Sub Worksheet_SelectionChange (ByV Range) Dim WorkRange As Range If Target.Cells.Count > 1 Then Exit Sub ' ប្រសិនបើក្រឡាច្រើនជាង 1 ត្រូវបានជ្រើសរើស ចេញ If Coord_Selection = False Then Exit Sub ' ប្រសិនបើការជ្រើសរើសត្រូវបានបិទ ចេញពី Application.ScreenUpdating = False Set WorkRange = Range ("A6:N300") 'អាសយដ្ឋាននៃជួរធ្វើការដែលជម្រើសអាចមើលឃើញ  

ផ្លាស់ប្តូរអាសយដ្ឋាននៃជួរធ្វើការទៅជារបស់អ្នក - វាស្ថិតនៅក្នុងជួរនេះដែលការជ្រើសរើសរបស់យើងនឹងដំណើរការ។ បន្ទាប់មកបិទ Visual Basic Editor ហើយត្រឡប់ទៅ Excel វិញ។

ចុចផ្លូវកាត់ក្តារចុច ALT + F8 ។ដើម្បីបើកបង្អួចដែលមានបញ្ជីម៉ាក្រូដែលមាន។ ម៉ាក្រូ Selection_Onដូចដែលអ្នកអាចទាយបាន រួមបញ្ចូលការជ្រើសរើសសំរបសំរួលនៅលើសន្លឹកបច្ចុប្បន្ន និងម៉ាក្រូ ការជ្រើសរើស_បិទ - បិទវា។ នៅក្នុងបង្អួចដូចគ្នាដោយចុចប៊ូតុង ប៉ារ៉ាម៉ែត្រ (ជម្រើស) អ្នកអាចកំណត់ផ្លូវកាត់ក្តារចុចទៅម៉ាក្រូទាំងនេះ ដើម្បីងាយស្រួលបើកដំណើរការ។

គុណសម្បត្តិនៃវិធីសាស្ត្រនេះ៖

  • ភាពងាយស្រួលនៃការអនុវត្ត
  • ការជ្រើសរើស - ប្រតិបត្តិការគឺគ្មានការបង្កគ្រោះថ្នាក់ និងមិនផ្លាស់ប្តូរមាតិកា ឬការធ្វើទ្រង់ទ្រាយនៃក្រឡាសន្លឹកតាមមធ្យោបាយណាមួយឡើយ អ្វីគ្រប់យ៉ាងនៅតែមានដូចដែលវាគឺ

គុណវិបត្តិនៃវិធីសាស្ត្រនេះ៖

  • ការ​ជ្រើស​រើស​បែប​នេះ​មិន​ដំណើរ​ការ​ត្រឹម​ត្រូវ​ទេ ប្រសិន​បើ​មាន​ក្រឡា​បញ្ចូល​គ្នា​នៅ​លើ​សន្លឹក – ជួរ​ដេក និង​ជួរ​ឈរ​ទាំង​អស់​ដែល​រួម​បញ្ចូល​ក្នុង​សហជីព​ត្រូវ​បាន​ជ្រើស​ក្នុង​ពេល​តែ​មួយ
  • ប្រសិនបើអ្នកចុចគ្រាប់ចុចលុបដោយចៃដន្យ នោះមិនត្រឹមតែក្រឡាសកម្មនឹងត្រូវបានសម្អាតប៉ុណ្ណោះទេ ប៉ុន្តែផ្ទៃដែលបានជ្រើសរើសទាំងមូល ពោលគឺលុបទិន្នន័យពីជួរទាំងមូល និងជួរឈរ។

វិធីសាស្រ្ត 2. ដើម។ CELL + មុខងារធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌ

វិធីសាស្រ្តនេះ ថ្វីត្បិតតែវាមានគុណវិបត្តិមួយចំនួន ប៉ុន្តែខ្ញុំហាក់មានភាពឆើតឆាយណាស់។ ដើម្បីអនុវត្តអ្វីមួយដោយប្រើតែឧបករណ៍ Excel ដែលភ្ជាប់មកជាមួយនោះ ការចូលទៅក្នុងកម្មវិធី VBA តិចតួចបំផុតគឺ aerobatics 😉

វិធីសាស្ត្រគឺផ្អែកលើការប្រើប្រាស់មុខងារ CELL ដែលអាចផ្តល់ព័ត៌មានផ្សេងៗគ្នាជាច្រើនលើក្រឡាដែលបានផ្តល់ឱ្យ – កម្ពស់ ទទឹង លេខជួរជួរ ទម្រង់លេខ។ល។ មុខងារនេះមានអាគុយម៉ង់ពីរ៖

  • ពាក្យកូដសម្រាប់ប៉ារ៉ាម៉ែត្រដូចជា "ជួរឈរ" ឬ "ជួរដេក"
  • អាសយដ្ឋានរបស់ក្រឡាដែលយើងចង់កំណត់តម្លៃនៃប៉ារ៉ាម៉ែត្រនេះ។

ល្បិចគឺថាអាគុយម៉ង់ទីពីរគឺស្រេចចិត្ត។ ប្រសិនបើវាមិនបានបញ្ជាក់ទេ នោះក្រឡាសកម្មបច្ចុប្បន្នត្រូវបានយក។

សមាសភាគទីពីរនៃវិធីសាស្រ្តនេះគឺការធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌ។ មុខងារ Excel ដែលមានប្រយោជន៍បំផុតនេះអនុញ្ញាតឱ្យអ្នកធ្វើទ្រង់ទ្រាយក្រឡាដោយស្វ័យប្រវត្តិ ប្រសិនបើពួកវាបំពេញតាមលក្ខខណ្ឌដែលបានបញ្ជាក់។ ប្រសិនបើយើងបញ្ចូលគ្នានូវគំនិតទាំងពីរនេះទៅជាតែមួយ យើងទទួលបានក្បួនដោះស្រាយខាងក្រោមសម្រាប់អនុវត្តការជ្រើសរើសសំរបសំរួលរបស់យើងតាមរយៈទម្រង់តាមលក្ខខណ្ឌ៖

  1. យើងជ្រើសរើសតារាងរបស់យើង ពោលគឺក្រឡាទាំងនោះដែលការជ្រើសរើសកូអរដោនេគួរតែត្រូវបានបង្ហាញនៅពេលអនាគត។
  2. នៅក្នុង Excel 2003 និងចាស់ជាងនេះ សូមបើកម៉ឺនុយ ទ្រង់ទ្រាយ - ទម្រង់តាមលក្ខខណ្ឌ - រូបមន្ត (ទ្រង់ទ្រាយ — ទម្រង់តាមលក្ខខណ្ឌ — រូបមន្ត). នៅក្នុង Excel 2007 និងថ្មីជាងនេះ - ចុចលើផ្ទាំង ទំព័រដើម (ទំព័រដើម)ប៊ូតុង ការធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌ - បង្កើតច្បាប់ (ការធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌ - បង្កើតច្បាប់) ហើយជ្រើសរើសប្រភេទច្បាប់ ប្រើរូបមន្តដើម្បីកំណត់ក្រឡាមួយណាដែលត្រូវធ្វើទ្រង់ទ្រាយ (ប្រើរូបមន្ត)
  3. បញ្ចូលរូបមន្តសម្រាប់ការជ្រើសរើសសំរបសំរួលរបស់យើង៖

    =OR(CELL(“row”)=ROW(A2),CELL(“column”)=COLUMN(A2))

    =OR(CELL(«row»)=ROW(A1),CELL(«column»)=COLUMN(A1))

    រូបមន្ត​នេះ​ពិនិត្យ​មើល​ថា​តើ​លេខ​ជួរ​ឈរ​នៃ​ក្រឡា​នីមួយៗ​ក្នុង​តារាង​គឺ​ដូច​គ្នា​នឹង​លេខ​ជួរ​ឈរ​នៃ​ក្រឡា​បច្ចុប្បន្ន។ ដូចគ្នានេះដែរជាមួយនឹងជួរឈរ។ ដូច្នេះ មានតែក្រឡាទាំងនោះដែលមានលេខជួរ ឬលេខជួរដែលត្រូវគ្នានឹងក្រឡាបច្ចុប្បន្នប៉ុណ្ណោះដែលនឹងត្រូវបានបំពេញ។ ហើយនេះគឺជាជម្រើសកូអរដោនេរាងឈើឆ្កាងដែលយើងចង់សម្រេចបាន។

  4. ចុចប៊ូតុង កបខ័ណ (ទម្រង់) ហើយកំណត់ពណ៌បំពេញ។

អ្វីគ្រប់យ៉ាងគឺជិតរួចរាល់ហើយ ប៉ុន្តែមានចំនុចពិសេសមួយ។ ការពិតគឺថា Excel មិនចាត់ទុកការផ្លាស់ប្តូរក្នុងការជ្រើសរើសជាការផ្លាស់ប្តូរទិន្នន័យនៅលើសន្លឹកនោះទេ។ ហើយជាលទ្ធផល វាមិនបង្កឲ្យមានការគណនាឡើងវិញនៃរូបមន្ត និងការប្តូរពណ៌នៃទម្រង់តាមលក្ខខណ្ឌ លុះត្រាតែទីតាំងនៃក្រឡាសកម្មផ្លាស់ប្តូរ។ ដូច្នេះ ចូរយើងបន្ថែមម៉ាក្រូសាមញ្ញមួយទៅម៉ូឌុលសន្លឹកដែលនឹងធ្វើដូចនេះ។ ចុចកណ្ដុរស្ដាំលើផ្ទាំងសន្លឹក ហើយជ្រើសរើសពាក្យបញ្ជាពីម៉ឺនុយបរិបទ ប្រភពអត្ថបទ (ប្រភព​កូដ)។បង្អួច Visual Basic Editor គួរតែបើក។ ចម្លងអត្ថបទនៃម៉ាក្រូសាមញ្ញនេះទៅក្នុងវា៖

Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveCell.Calculate End Sub  

ឥឡូវនេះ នៅពេលដែលការជ្រើសរើសផ្លាស់ប្តូរ ដំណើរការនៃការគណនាឡើងវិញនូវរូបមន្តជាមួយនឹងមុខងារនឹងត្រូវបានដាក់ឱ្យដំណើរការ សេល នៅក្នុងទម្រង់តាមលក្ខខណ្ឌ និងលិចជួរ និងជួរឈរបច្ចុប្បន្ន។

គុណសម្បត្តិនៃវិធីសាស្ត្រនេះ៖

  • ការធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌមិនធ្វើឱ្យខូចទ្រង់ទ្រាយតារាងផ្ទាល់ខ្លួនទេ។
  • ជម្រើស​ជ្រើសរើស​នេះ​ដំណើរការ​បាន​ត្រឹមត្រូវ​ជាមួយ​ក្រឡា​ដែល​បាន​បញ្ចូល​គ្នា។
  • គ្មានហានិភ័យនៃការលុបជួរដេក និងជួរឈរទាំងមូលនៃទិន្នន័យនៅពេលចុចដោយចៃដន្យទេ។ Delete.
  • ម៉ាក្រូត្រូវបានប្រើប្រាស់តិចតួចបំផុត។

គុណវិបត្តិនៃវិធីសាស្ត្រនេះ៖

  • រូបមន្តសម្រាប់ការធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌត្រូវតែបញ្ចូលដោយដៃ។
  • មិនមានវិធីរហ័សក្នុងការបើក/បិទការធ្វើទ្រង់ទ្រាយបែបនេះទេ វាត្រូវបានបើករហូតទាល់តែច្បាប់ត្រូវបានលុប។

វិធីសាស្រ្ត 3. ល្អបំផុត។ ការធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌ + ម៉ាក្រូ

មធ្យមមាស។ យើងប្រើយន្តការសម្រាប់តាមដានការជ្រើសរើសនៅលើសន្លឹកដោយប្រើម៉ាក្រូពី method-1 ហើយបន្ថែមការបន្លិចសុវត្ថិភាពទៅវាដោយប្រើទម្រង់តាមលក្ខខណ្ឌពី method-2។

បើកសន្លឹកដែលមានតារាងដែលអ្នកចង់ទទួលបានជម្រើសសំរបសំរួលបែបនេះ។ ចុចកណ្ដុរស្ដាំលើផ្ទាំងសន្លឹក ហើយជ្រើសរើសពាក្យបញ្ជាពីម៉ឺនុយបរិបទ ប្រភពអត្ថបទ (ប្រភព​កូដ)។បង្អួច Visual Basic Editor គួរតែបើក។ ចម្លងអត្ថបទនៃម៉ាក្រូទាំងបីនេះទៅក្នុងវា៖

Dim Coord_Selection ជា Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range, CrossRange As Range Set WorkRange"7" = Range(300) 'адрес рабочего диапазона с таблицей ប្រសិនបើ Target.Count > 1 បន្ទាប់មកចេញ Sub If Coord_Selection = False បន្ទាប់មក WorkRange.FormatConditions.Delete Exit Sub End ប្រសិនបើ Application.ScreenUpdating Is = False If Not IntersectRetang(Tear) WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex.Formations =33 .លុប End If End Sub  

កុំភ្លេចផ្លាស់ប្តូរអាសយដ្ឋានជួរធ្វើការទៅអាសយដ្ឋានតារាងរបស់អ្នក។ បិទ Visual Basic Editor ហើយត្រលប់ទៅ Excel ។ ដើម្បីប្រើម៉ាក្រូដែលបានបន្ថែម សូមចុចផ្លូវកាត់ក្តារចុច ALT + F8 ។  ហើយបន្តតាមវិធី 1. 

វិធីសាស្រ្ត 4. ស្រស់ស្អាត។ កម្មវិធីបន្ថែម FollowCellPointer

Excel MVP Jan Karel Pieterse មកពីប្រទេសហូឡង់ ផ្តល់កម្មវិធីបន្ថែមដោយឥតគិតថ្លៃនៅលើគេហទំព័ររបស់គាត់។ តាមដានCellPointer(36Kb) ដែលដោះស្រាយបញ្ហាដូចគ្នាដោយគូរបន្ទាត់ព្រួញក្រាហ្វិកដោយប្រើម៉ាក្រូ ដើម្បីរំលេចជួរ និងជួរបច្ចុប្បន្ន៖

 

ដំណោះស្រាយដ៏ល្អ។ មិន​មែន​គ្មាន​បញ្ហា​នៅ​កន្លែង​ណា​ទេ ប៉ុន្តែ​ពិត​ជា​គួរ​សាកល្បង។ ទាញយកបណ្ណសារ ស្រាយវាទៅក្នុងថាស ហើយដំឡើងកម្មវិធីបន្ថែម៖

  • នៅក្នុង Excel 2003 និងចាស់ជាងនេះ - តាមរយៈម៉ឺនុយ សេវាកម្ម - កម្មវិធីបន្ថែម - ទិដ្ឋភាពទូទៅ (ឧបករណ៍ — Add-Ins — Browse)
  • នៅក្នុង Excel 2007 និងក្រោយៗមក ឯកសារ - ជម្រើស - កម្មវិធីបន្ថែម - ទៅ - រកមើល (ឯកសារ — ជម្រើស Excel — Add-Ins — ចូលទៅកាន់ — Browse)

  • តើម៉ាក្រូជាអ្វី កន្លែងដែលត្រូវបញ្ចូលកូដម៉ាក្រូក្នុង Visual Basic

 

សូមផ្ដល់យោបល់