ប្រសិនបើអ្នកចង់ទទួលបានទំហំទិន្នន័យយ៉ាងឆាប់រហ័សនៃសន្លឹកកិច្ចការនីមួយៗនៅក្នុងសៀវភៅការងារ Excel អ្នកអាចយោងលើអត្ថបទនេះ។ នៅទីនេះយើងនឹងចែករំលែក 2 វិធីងាយស្រួលជាមួយអ្នក។
ពេលខ្លះនៅពេលដោះស្រាយជាមួយសៀវភៅការងារ Excel ដែលមានសន្លឹកកិច្ចការច្រើន អ្នកប្រហែលជាចង់ទទួលបានទំហំទិន្នន័យនៃសន្លឹកកិច្ចការនីមួយៗ។ ទោះយ៉ាងណាក៏ដោយ មិនមានលក្ខណៈពិសេសដើមសម្រាប់តម្រូវការនេះទេ។ ដូច្នេះ អ្នកត្រូវប្រើវិធីដោះស្រាយមួយចំនួន ដូចជាវិធីទី 1 ខាងក្រោម។ ឬអ្នកអាចប្រើវិធីសាស្ត្រ 2 ដែលឆ្លាតជាងនេះ ដើម្បីទទួលបានទំហំទិន្នន័យរបស់សន្លឹកកិច្ចការទាំងអស់ជាដុំៗ។
វិធីសាស្រ្ត 1: ទទួលបានទំហំទិន្នន័យសន្លឹកកិច្ចការមួយដោយដៃមួយ។
- ដំបូងបើកសៀវភៅការងារ Excel ជាក់លាក់។
- បន្ទាប់មកចម្លងមាតិកានៃសន្លឹកកិច្ចការ Excel ។
- បន្ទាប់មក បង្កើតសៀវភៅការងារថ្មី ហើយបិទភ្ជាប់សន្លឹកកិច្ចការដែលបានចម្លងទៅក្នុងសន្លឹកទី 1 ។
- ក្រោយមក រក្សាទុកសៀវភៅការងារថ្មីទៅថត Windows ។
- ជាចុងក្រោយ អ្នកអាចពិនិត្យមើលទំហំទិន្នន័យរបស់សៀវភៅការងារថ្មី ដែលស្មើនឹងទំហំទិន្នន័យរបស់សន្លឹកកិច្ចការនៅក្នុង Windows Explorer ដូចដែលបានបង្ហាញក្នុងរូបថតអេក្រង់ខាងក្រោម។
- ឥឡូវនេះអ្នកអាចប្រើវិធីនេះដើម្បីទទួលបានទំហំទិន្នន័យនៃសន្លឹកកិច្ចការផ្សេងទៀតម្តងមួយៗ។
វិធីសាស្រ្តទី 2: បាច់ទទួលបានទំហំទិន្នន័យនៃសន្លឹកកិច្ចការទាំងអស់តាមរយៈ VBA
- ដើម្បីចាប់ផ្តើមជាមួយ បើកកម្មវិធីនិពន្ធ Excel VBA យោងតាម "របៀបដំណើរការកូដ VBA នៅក្នុង Excel របស់អ្នក។"។
- បន្ទាប់មកដាក់កូដខាងក្រោមទៅក្នុងគម្រោង ឬម៉ូឌុល។
អនុ GetEachWorksheetSize() Dim strTargetSheetName ជា String Dim strTempWorkbook ជា String Dim objTargetWorksheet As Worksheet Dim objWorksheet As Worksheet Dim objRange As Range Dim i As Long Dim nLastEmptyRow As Integer strTargetSheetName = "ទំហំសន្លឹក" strTempWorkbook = ThisWorkbook.Path & "\Temp Workbook.xls" ជាមួយ ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1)) .Name = strTargetSheetName .Cells(1, 1) = "Sheet" .Cells(1, 1).Font.Size = 14 .Cells(1, 1).Font.Bold = True .Cells(1, 2) = "Size" ។ Cells(1, 2).Font.Size = 14 .Cells(1, 2).Font.Bold = True End with Set objTargetWorksheet = Application.Worksheets(strTargetSheetName) សម្រាប់ objWorksheet នីមួយៗនៅក្នុង Application.ActiveWorkbook.Worksheets ប្រសិនបើ objWorksheet.Name <> strTargetSheetName បន្ទាប់មក objWorksheet.Copy Application.ActiveWorkbook.SaveAs strTempWorkbook Application.ActiveWorkbook.Close SaveChanges:=False nLastEmptyRow =objTargetWorksheet.Range("A" & objTargetWorksheet.Rows.Count).បញ្ចប់(xlUp).Row + 1 ជាមួយ objTargetWorksheet .Cells(nLastEmptyRow, 1) = objWorksheet.Name .Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook) បញ្ចប់ដោយ Kill strTempWorkbook End ប្រសិនបើ Next បញ្ចប់ Sub
- បន្ទាប់ពីនោះចុច "F5" ដើម្បីដំណើរការម៉ាក្រូនេះភ្លាមៗ។
- នៅទីបំផុត បន្ទាប់ពីម៉ាក្រូបញ្ចប់ សូមត្រលប់ទៅសៀវភៅការងារវិញ។
- អ្នកនឹងឃើញសន្លឹកកិច្ចការថ្មីនៅដើមដំបូង ដែលមានទំហំនៃសន្លឹកកិច្ចការនីមួយៗ ដូចរូបភាពខាងក្រោម។
ប្រៀបធៀប
គុណសម្បត្តិ | គុណវិបត្តិ | |
វិធីសាស្រ្ត 1 | ងាយស្រួលក្នុងប្រតិបត្តិការ | មានបញ្ហាច្រើនពេកប្រសិនបើមានសន្លឹកកិច្ចការច្រើនពេកនៅក្នុងសៀវភៅការងារបច្ចុប្បន្ន |
វិធីសាស្រ្ត 2 | ងាយស្រួល និងងាយស្រួល មិនថាមានសន្លឹកកិច្ចការប៉ុន្មានក្នុងសៀវភៅការងារ | ប្រហែលជាលេខកូដ VBA ខាងលើគឺមិនអាចយល់បានបន្តិចសម្រាប់អ្នកទើបនឹងកើត |
ដោះស្រាយបញ្ហា PST ដែលហួសចិត្ត
អ្នកប្រើប្រាស់អាចជួបប្រទះបញ្ហារំខានគ្រប់ប្រភេទនៅក្នុង MS Excel ចាប់ពីការបិទ ឬដំណើរការឡើងវិញដោយមិនបានរំពឹងទុក។tart ទៅធ្ងន់ធ្ងរ xlsx អំពើពុករលួយ. ដោយមិនសង្ស័យ មost បញ្ហា knotty គឺខូចឯកសារ Excel ដែលវាមិនអាចដោះស្រាយបានយ៉ាងងាយស្រួល។ វាទាមទារឱ្យអ្នកអនុវត្តឧបករណ៍ជួសជុល Excel ខាងក្រៅដូចជា DataNumen Excel Repair.
សេចក្តីផ្តើមអ្នកនិពន្ធ៖
Shirley Zhang គឺជាអ្នកជំនាញការសង្គ្រោះទិន្នន័យនៅក្នុង DataNumen, Inc. ដែលជាក្រុមហ៊ុនឈានមុខគេលើពិភពលោកក្នុងបច្ចេកវិទ្យាសង្គ្រោះទិន្នន័យ រួមទាំង ខូច SQL Server និងផលិតផលកម្មវិធីជួសជុលចក្ខុវិស័យ។ សម្រាប់ព័ត៌មានបន្ថែមសូមចូលមើល www ។datanumen.com
ជំរាបសួរ ខ្ញុំមានអារម្មណ៍ថាខ្ញុំសង្កេតឃើញថាអ្នកបានចូលមើលគេហទំព័ររបស់ខ្ញុំ ដូច្នេះខ្ញុំមកដល់ទីនេះដើម្បីត្រឡប់ចំណូលចិត្ត?
បង្ហាញសារកំហុស 1004៖ មិនអាចចម្លងសន្លឹកកិច្ចការបានទេ។
ប្រសិនបើឯកសារ Excel របស់ខ្ញុំមានសន្លឹកកិច្ចការសរុបចំនួន 10 ហើយសន្លឹកកិច្ចការដែលមើលឃើញមាន XNUMX តើមានកំហុសអ្វី?
សូមជួយកែលម្អការសរសេរកូដ។
ដំណើរការយ៉ាងល្អឥតខ្ចោះបន្ទាប់ពីខ្ញុំលាក់ផ្ទាំងទាំងអស់។ តើឯកតាទំហំផ្ទុកនៅទីនេះគឺជាអ្វី? សន្មត់ថាវាជា Bits ប៉ុន្តែចង់ឱ្យប្រាកដ។ អរគុណ!
វាហាក់ដូចជាមិនដំណើរការទេប្រសិនបើមានផ្ទាំងដែលលាក់ សូមប្រាកដថាផ្ទាំងទាំងអស់អាចមើលឃើញ ហើយវាគួរតែមិនអីទេ។
បាទ ច្បាស់ជាមិនដំណើរការទេ។ សង្កេតមើលបញ្ហាដូចគ្នានឹងបញ្ហាផ្សេងទៀត។
សូមកែតម្រូវ!
ទទួលបានកំហុសនៅលើបន្ទាត់នេះ…។
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
មិនដំណើរការសម្រាប់ខ្ញុំ។ កំហុសនៅក្នុងបន្ទាត់ខាងលើនៅក្នុងកូដ។
នេះមិនដំណើរការសម្រាប់ខ្ញុំទេ។ កំហុសគឺនៅទីនេះ ” .Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)”
តើលេខដែលបានមកពីវិធីទី២នេះមានន័យយ៉ាងណា?
ខ្ញុំមានឯកសារ excel ពីរ .xlsx រក្សាទុកជាមួយទិន្នន័យពីគំរូមួយ។ បានប្រើគំរូដូចគ្នាអស់រយៈពេល 2 ឆ្នាំចុងក្រោយនេះ។ ចំនួនសន្លឹកកិច្ចការដូចគ្នា (14) ។ ទំហំសន្លឹកឯកសារតូចជាងនេះ សរុបទៅ 11610591 ហើយមានទំហំ 6681 KB ដូចដែលបានរាយការណ៍ដោយ Windows។ ទំហំសន្លឹកឯកសារធំជាងនេះ សរុបទៅ 11717397 ហើយមានទំហំ 25471 KB ដូចដែលបានរាយការណ៍ដោយ Windows។
ទំហំឯកសារធំជាងនេះ មានតែ starដែលកើតឡើងក្នុងរយៈពេល 3 ថ្ងៃចុងក្រោយ។
សូមអរគុណច្រើន មិនមានបញ្ហានៅពេលដំណើរការ
ដូចខ្ញុំដែរ។
ទាក់ទងនឹងបញ្ហាប្រភេទ
វាមិនដំណើរការទេ វាឈប់នៅ objWorksheet.Copy