مواقع زیادی وجود دارد که تام یک کاربرگ از برنامه دیگری به اکسل وارد می کند تا بتواند با داده ها کار کند. وارد کردن به خوبی کار می کند، اما فرآیند واردات تعداد زیادی (ده ها و گاهی صدها) ردیف اضافی اضافه می کند که هیچ داده ای در آنها وجود ندارد. پس از وارد کردن، تام باید به صورت دستی آن ردیف های اضافی را حذف کند تا بتواند از بقیه داده ها استفاده کند. تام فکر می کند که آیا راهی برای خلاص شدن از شر این ردیف های خالی وجود دارد؟
راه های مختلفی وجود دارد که می توانید با این مشکل برخورد کنید. ساده ترین راه ممکن است این باشد که داده های وارد شده را بر اساس ستون مورد نظر خود مرتب کنید. تمام سطرهایی که هیچ چیزی در آن ستون ندارند در پایان یا ابتدای داده ها (بسته به مرتب سازی به ترتیب صعودی یا نزولی) ختم می شوند و می توانید به راحتی آن سطرها را حذف کنید.
بدیهی است که وقتی مرتب سازی را به این روش انجام می دهید، می توانید اطلاعات خود را خارج از سفارش اصلی و وارداتی قرار دهید. اگر میخواهید که دادههایتان به ترتیب اصلی باشد - اما ردیفهای خالی حذف شده باشد - کافی است یک ستون را در سمت چپ یا راست دادههای خود وارد کنید، آن را با اعداد متوالی پر کنید، مرتبسازی را بر اساس هر ستونی به جز آن ستون اضافه شده انجام دهید، و سپس سطرهایی را که خالی هستند (فقط چیزی در ستون شماره گذاری) حذف کنید. سپس می توانید بار دوم را بر اساس ستون شماره گذاری مرتب کنید و داده های شما به ترتیب اولیه خود باز می گردند.
روش دیگر این است که مراحل زیر را دنبال کنید:

شکل 1. کادر گفتگوی Go To Special.
- کل ستون را انتخاب کنید.
- F5 را فشار دهید . اکسل کادر گفتگوی Go To را نمایش می دهد.
- روی Special کلیک کنید. اکسل کادر محاوره ای Go To Special را نمایش می دهد. (شکل 1 را ببینید.)
- Blanks را انتخاب کنید و سپس روی OK کلیک کنید. اکسل تنها سلول هایی را در ستون انتخاب می کند که خالی هستند.
- از منوی Edit گزینه Delete را انتخاب کنید. اکسل کادر محاوره ای Delete را نمایش می دهد.
- Entire Row را انتخاب کنید و سپس روی OK کلیک کنید.
اگر ترجیح می دهید از یک ماکرو برای خلاص شدن از شر ردیف های خالی استفاده کنید، می توانید از چیزی شبیه به موارد زیر استفاده کنید:
Sub DeleteEmptyRows()
Dim LastRow As Long
Dim J As Long
LastRow = ActiveSheet.UsedRange.Rows.Count + _
ActiveSheet.UsedRange.Rows(1).Row - 1
Application.ScreenUpdating = False
For J = LastRow To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(J)) = 0 Then
Rows(J).Delete
End If
Next J
Application.ScreenUpdating = True
End Sub
چرا می خواهید از ماکرو استفاده کنید؟ زیرا ممکن است لازم باشد هفته به هفته ردیف های خالی را حذف کنید. فقط ماکرو را در کتاب کار شخصی خود قرار دهید و سپس هر زمان که نیاز داشتید می توانید به آن دسترسی داشته باشید.
اطلاعات تکمیلی در مورد این موضوع را می توان در این صفحات یافت:
http://www.cpearson.com/Excel/deleting.htm#DeleteBlankRows
http://dmcritchie.mvps.org/excel/lastcell.htm