گاهاً در صفحات اكسل سطرها و ستونهاي خالي زيادي به چشم ميخورد كه عمداً براي خوانا تر شدن دادهها ايجاد ميشوند. ولي در برخي موارد نيز، اين سطرها و ستونهاي خالي به صورت ناخواسته در ميان دادهها ظاهر ميشوند. حذف سطرها و ستونهاي خالي در اكسل راهكارهاي گوناگوني دارد. بسته به حجم دادهها، تعداد سطر و ستونهاي خالي، تعداد دفعات تكرار عمليات حذف و سطح توانايي كاربر، يكي از اين راهكارها استفاده ميشود.
ضرورت حذف سطرها و ستونهاي خالي در اكسل
اگر ميخواهيد دادههاي خود را كه در اكسل داراي سطر و ستون خالي هستند به نرمافزار ديگري مانند Access منتقل كنيد يا اگر قصد داريد بر روي اين دادهها عمليات محاسباتي طولاني و پيچيدهاي انجام دهيد، با وجود سطرها و ستونهاي خالي كارتان دشوار ميشود و بعضاً نتيجه مطلوب را از كار بر روي اين گونه دادهها، به دست نخواهيد آورد. از سويي ديگر در ارائه گزارش كاغذي از صفحات اكسل، چاپ كردن دادههايي كه داراي سطر و ستون خالي هستند چندان رضايت بخش نيست. لذا در اين موقعيت ها مجبور به حذف سطرها و ستونهاي خالي در اكسل خواهيد شد.
براي حذف سطرها و ستونهاي خالي در اكسل ۴ روش گوناگون وجود دارد:
حذف سطرها و ستونهاي خالي در اكسل با انتخاب مستقيم
زماني كه تعداد سطرها و ستونهاي خالي كم باشد، به سادگي ميتوان آنها را تك تك انتخاب كرده و در منوي راست كليك با انتخاب گزينه Delete حذف كرد.
حذف سطرها و ستونهاي خالي در اكسل با Go To Special
براي انجام اين كار، ابتدا تمامي محدوده دادهها را انتخاب كنيد. از منوي HOME به زير منوي Editing برويد. در بخش Find & Replace كليك كنيد. در منوي كركرهاي باز شده گزينه Go To Special را انتخاب كنيد (يا كليد ميانبر Ctrl+G را زده و Special را انتخاب كنيد). سپس در پنجره باز شده دكمه راديويي Blank را زده و OK كنيد. سطرها و ستونهايي كه داراي سلول خالي هستند انتخاب ميشوند.
براي حذف كردن سطرها و ستونهاي خالي به زير منوي Cells از منوي HOME برويد. در بخش Delete كليك كنيد. در اين قسمت بسته به نحوه پراكندگي سلولهاي خالي در ميان دادهها، سناريوهاي مختلفي در پيش روي شما قرار خواهد گرفت.
- اگر سلولهاي خالي فقط در سطرها باشند، يعني سطرهايي كه داراي داده هستند هيچ سلول خاليي نداشته باشند، (سلول خالي ديگري در ستونها نباشد) با انتخاب گزينه Delete Rows قادر خواهيد بود تمام سطرهاي خالي را حذف كنيد.
- اگر سلولهاي خالي فقط در ستونها باشند، يعني ستونهايي كه داراي داده هستند هيچ سلول خاليي نداشته باشند، (سلول خالي ديگري در سطرها نباشد) با انتخاب گزينه Delete Columns قادر خواهيد بود تمام ستونها خالي را حذف كنيد.
- اگر سلولهاي خالي به صورت شطرنجي (سطرها و ستونها يكي در ميان پر و خالي) باشند. از تركيب دو مورد بالا استفاده كنيد. به عنوان مثال ابتدا گزينه Delete Rows را انتخاب كنيد. سطرهاي خالي حذف خواهند شد. در مرحله بعد با انتخاب دوباره محدوده دادهها، همان فرآيند را تكرار كرده و اينبار با انتخاب گزينه Delete Columns اقدام به حذف ستونهاي باقي مانده كنيد.
- اگر سلولهاي خالي الگوي خاصي نداشته باشند، مسئله ديگر حذف سطرها يا ستونهاي خالي نخواهد بود ( خارج از موضوع اين پست).
حذف سطرها و ستونهاي خالي در اكسل با عملكرد Find
براي اين كار نيز ابتدا كل محدوده دادهها را انتخاب نماييد. از منوي HOME به زير منوي Editing برويد. در بخش Find & Replace كليك كنيد. در منوي باز شده گزينه Find را انتخاب كنيد (يا كليد ميانبر Ctrl+F را بزنيد). در پنجره باز شده بر روي دكمه Options كليك نمايد. پنجره گسترده تر خواهد شد. در قسمت كركرهاي Look in مقدار Values را انتخاب نماييد و در قسمت Find What چيزي ننويسد و دكمه Find All را بفشاريد. با اينكار جاهاي خالي را بر حسب مقدار جستجو كردهايد. نتايج جستجو در قسمت پايين پنجره نمايش داده ميشود. بر روي آدرس يكي از سلولها كه در ستون Cell ديده ميشود كليك كنيد. كليد ميانبر Ctrl+A را از صفحه كليدتان بفشاريد. تمامي سطرها يا ستون ها خالي انتخاب خواهند شد. بسته به پراكندگي سلولهاي خالي با يكي از روشها گفته شده در بالا، سطرها و ستونهاي خالي را حذف كنيد.
حذف سطرهاي خالي در اكسل با عملكرد Filter
براي حذف سطرهاي خالي در اين روش كل محدوده دادهها را انتخاب نماييد. از منوي HOME به زير منوي Editing برويد. در بخش Sort & Filter كليك كنيد. در منوي باز شده گزينه Filter را انتخاب كنيد (يا كليد ميانبر Ctrl+Shift+L را بزنيد). تمامي ستونها فيلتر خواهند شد.
پس از فيلتر كردن ستونها، بر روي علامت فيلتر در سر ستون يكي از ستونها كليك كنيد. پنجره فيلتر باز خواهد شد. تيك كنار Select All را برداريد تا هيچ يك از گزينهها در انتخاب نباشند. به قسمت پايين كادر رفته و تيك كنار Blank را بزنيد تا فقط سلولهاي خالي انتخاب شوند. به روش گفته شده در بالا از زير منوي Cell سطرهاي خالي را حذف كنيد.
توجه داشته باشيد كه با اين روش فقط سطرهاي خالي را ميتوان حذف كرد.
حذف سطرهاي خالي در اكسل با ماكرو نويسي
گرچه ماكرو نويسي از پيچيده ترين قسمت هاي اكسل است، ولي با استفاده از اين ابزار، تقريباً هر عملياتي در اكسل قابل انجام است. در كل اگر عملياتي به دفعات زياد و به صورت تكراري انجام ميشود، پيشنهاد ميشود از يك كد ويژوال بيسيك در قالب ماكرو استفاده كنيد.
كد ماكرو براي حذف سطرهاي خالي در اكسل به صورت زير است:
Sub DeleteBlankRows()
Dim Rw As Range
If WorksheetFunction.CountA(Selection) = 0 Then
MsgBox "No blank rows found", vbOKOnly
Exit Sub
End If
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
Selection.SpecialCells(xlCellTypeBlanks).Select
For Each Rw In Selection.Rows
If WorksheetFunction.CountA(Selection.EntireRow) = 0 Then
Selection.EntireRow.Delete
End If
Next Rw
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
MsgBox "Blank Rows Removed"
End Sub
در فايل اكسل مورد نظر به برگهاي كه سطرهاي خالي در آن قرار دارند منتقل شويد. كليد Alt+F11 را بفشاريد. محيط ويژوال بيسيك اكسل باز خواهد شد. از منوي Insert بخش Module را انتخاب كنيد تا يك ماژول جديد ايجاد شود. كد بالا را كپي كرده و در ماژول جديد paste كنيد.
پس از نوشتن كد مورد نظر در محيط ويژوال بيسيك آن را ذخيره كرده و به برگه ذكر شده برگرديد. آموزش اكسل محدوده سطرهاي خالي را انتخاب كنيد. كليد Alt+F8 را بفشاريد تا فهرست ماكروهاي موجود را ببينيد. از بين اين ماكروها، ماكروي DeleteBlankRows را انتخاب و اجرا كنيد. براي توضيحات بيشتر در مورد نوشتن و ذخيره كردن ماكروها به آموزش ماكرو نويسي در اكسل مراجعه نماييد.
پس از اجراي ماكرو، اكسل سطرها خالي را حذف كرده و نتيجه كار به شكل زير خواهد بود.
منبع: omransoft.ir