ការដកក្រឡាទទេចេញពីជួរមួយ។

ការបង្កើតបញ្ហា

យើងមានក្រឡាជាច្រើនដែលមានទិន្នន័យដែលមានក្រឡាទទេ៖

 

ភារកិច្ចគឺដើម្បីលុបក្រឡាទទេដោយបន្សល់ទុកតែក្រឡាដែលមានព័ត៌មាន។

វិធីសាស្រ្ត 1. រដុបនិងលឿន

  1. ការជ្រើសរើសជួរដើម
  2. ចុចគ្រាប់ចុច F5, ប៊ូតុងបន្ទាប់ បន្លិច (ពិសេស). នៅក្នុងបង្អួចដែលបើកសូមជ្រើសរើស ក្រឡាទទេ(ទទេ​រ) ហើយចុច OK.

    ការដកក្រឡាទទេចេញពីជួរមួយ។

    ក្រឡាទទេទាំងអស់នៅក្នុងជួរត្រូវបានជ្រើសរើស។

  3. យើងផ្តល់ពាក្យបញ្ជានៅក្នុងម៉ឺនុយដើម្បីលុបក្រឡាដែលបានជ្រើសរើស៖ ចុចខាងស្តាំ- លុបក្រឡា (លុបក្រឡា) ជាមួយនឹងការផ្លាស់ប្តូរឡើង។

វិធីសាស្រ្តទី 2: រូបមន្តអារេ

ដើម្បីងាយស្រួល សូមដាក់ឈ្មោះជួរការងាររបស់យើងដោយប្រើ អ្នកគ្រប់គ្រងឈ្មោះ (អ្នកគ្រប់គ្រងឈ្មោះ) ផ្ទាំង រូបមន្ត (រូបមន្ត) ឬនៅក្នុង Excel 2003 និងចាស់ជាងនេះ ម៉ឺនុយ បញ្ចូល - ឈ្មោះ - ចាត់តាំង (បញ្ចូល - ឈ្មោះ - កំណត់)

 

ដាក់ឈ្មោះជួរ B3:B10 ទំនេរជួរ D3:D10 – គ្មានទទេ. ជួរត្រូវតែមានទំហំដូចគ្នាយ៉ាងតឹងរឹង ហើយអាចមានទីតាំងនៅគ្រប់ទីកន្លែងដែលទាក់ទងគ្នាទៅវិញទៅមក។

ឥឡូវជ្រើសរើសក្រឡាទីមួយនៃជួរទីពីរ (D3) ហើយបញ្ចូលរូបមន្តគួរឱ្យខ្លាចនេះទៅក្នុងវា៖

=IF(ROW() -ROW(NoEmpty)+1>NOTROWS(YesEmpty)-COUNTBLANK(YesEmpty);"";INDIRECT(ADDRESS(ទាបបំផុត((IF(Empty<>""),ROW(Empty);ROW() + ROWS(មានទទេ))); LINE()-ROW(គ្មានទទេ)+1); COLUMN(មានទទេ); 4)))

នៅក្នុងកំណែភាសាអង់គ្លេសវានឹងមានៈ

=IF(ROW()-ROW(NoEmpty)+1>ROWS(Empty)-COUNTBLANK(Empty),"",INDIRECT(ADDRESS(SMALL((IF(Empty<>"",ROW(Empty),ROW()) +ROWS(HaveEmpty))), ROW()-ROW(NoEmpty)+1),COLUMN(HaveEmpty),4)))

លើសពីនេះទៅទៀត វាត្រូវតែបញ្ចូលជារូបមន្តអារេ ពោលគឺចុចបន្ទាប់ពីបិទភ្ជាប់ បញ្ចូល (ដូចធម្មតា) និង បញ្ជា (Ctrl) + ប្ដូរ (Shift) + បញ្ចូល (Enter). ឥឡូវ​រូបមន្ត​អាច​ត្រូវ​បាន​ចម្លង​ដោយ​ប្រើ​ការ​បំពេញ​ដោយ​ស្វ័យ​ប្រវត្តិ (អូស​ឈើ​ឆ្កាង​ខ្មៅ​នៅ​ជ្រុង​ខាង​ក្រោម​ស្តាំ​នៃ​ក្រឡា) ហើយ​យើង​នឹង​ទទួល​បាន​ជួរ​ដើម ប៉ុន្តែ​គ្មាន​ក្រឡា​ទទេ៖

 

វិធីសាស្រ្ត 3. មុខងារផ្ទាល់ខ្លួននៅក្នុង VBA

ប្រសិនបើមានការសង្ស័យដែលអ្នកនឹងត្រូវធ្វើបែបបទម្តងទៀតសម្រាប់ការយកក្រឡាទទេចេញពីជួរ នោះវាជាការប្រសើរក្នុងការបន្ថែមមុខងារផ្ទាល់ខ្លួនរបស់អ្នកសម្រាប់ការយកក្រឡាទទេទៅការកំណត់ស្តង់ដារម្តង ហើយប្រើវានៅក្នុងករណីបន្តបន្ទាប់ទាំងអស់។

ដើម្បីធ្វើដូចនេះបើកកម្មវិធីនិពន្ធ Visual Basic (ALT + F11 ។) បញ្ចូលម៉ូឌុលទទេថ្មី (ម៉ឺនុយ បញ្ចូល - ម៉ូឌុល) ហើយចម្លងអត្ថបទនៃមុខងារនេះនៅទីនោះ៖

អនុគមន៍ NoBlanks(DataRange As Range) As Variant() Dim N As Long Dim N2 As Long Dim Rng As Range Dim MaxCells As Long Dim Result() As Variant Dim R As Long Dim C As Long MaxCells = Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count, DataRange.Cells.Count) លទ្ធផល ReDim(1 ដល់ MaxCells, 1 ទៅ 1) សម្រាប់ Rng នីមួយៗក្នុង DataRange.Cells ប្រសិនបើ Rng.Value <> vbNullString បន្ទាប់មក N = N + 1 Result(N, 1 ) = Rng.Value End ប្រសិនបើ Next Rng សម្រាប់ N2 = N + 1 ទៅ MaxCells Result(N2, 1) = vbNullString Next N2 ប្រសិនបើ Application.Caller.Rows.Count = 1 បន្ទាប់មក NoBlanks = Application.Transpose(លទ្ធផល) Else NoBlanks = លទ្ធផល មុខងារ End If End  

កុំភ្លេចរក្សាទុកឯកសារ ហើយប្តូរពី Visual Basic Editor ទៅ Excel។ ដើម្បីប្រើមុខងារនេះក្នុងឧទាហរណ៍របស់យើង៖

  1. ជ្រើសរើសជួរគ្រប់គ្រាន់នៃក្រឡាទទេ ឧទាហរណ៍ F3:F10។
  2. ចូលទៅកាន់មឺនុយ បញ្ចូល - មុខងារ (បញ្ចូល - មុខងារ)ឬចុចលើប៊ូតុង បញ្ចូលមុខងារ (បញ្ចូលមុខងារ) ផ្ទាំង រូបមន្ត (រូបមន្ត) នៅក្នុងកំណែថ្មីនៃ Excel ។ នៅក្នុងប្រភេទ អ្នកប្រើប្រាស់កំណត់ (អ្នកប្រើប្រាស់កំណត់) ជ្រើសរើសមុខងាររបស់យើង។ NoBlanks.
  3. បញ្ជាក់ជួរប្រភពដោយចាត់ទុកជាមោឃៈ (B3:B10) ជាអាគុយម៉ង់មុខងារ និងចុច បញ្ជា (Ctrl) + ប្ដូរ (Shift) + បញ្ចូល (Enter)ដើម្បីបញ្ចូលអនុគមន៍ជារូបមន្តអារេ។

:

  • ការលុបជួរទទេទាំងអស់ក្នុងតារាងក្នុងពេលតែមួយជាមួយម៉ាក្រូសាមញ្ញ
  • ការដកជួរទទេទាំងអស់នៅក្នុងសន្លឹកកិច្ចការក្នុងពេលតែមួយដោយប្រើកម្មវិធីបន្ថែម PLEX
  • បំពេញក្រឡាទទេទាំងអស់។
  • តើម៉ាក្រូជាអ្វី កន្លែងដែលត្រូវបញ្ចូលកូដម៉ាក្រូក្នុង VBA

 

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