باری یک کاربرگ بزرگ حاوی چندین هزار ردیف داده دارد. ستون B حاوی یک تاریخ است و او باید تمام سطرهایی را که در آنها تاریخ ستون B زودتر از یک تاریخ قطع مشخص است حذف کند. باری در مورد ساده ترین راه برای انجام این کار برای داده های بسیار شگفت زده می شود.
انجام این کار نسبتاً آسان است، با رویکردی که استفاده می کنید بستگی به این دارد که چند وقت یکبار باید آن را انجام دهید و چگونه می خواهید با داده های خود کار کنید. اگر برایتان مهم نیست که داده هایتان به چه ترتیبی هستند، ساده ترین روش همان روشی است که من از آن به عنوان روش «مرتب سازی و حذف» یاد می کنم:
- سلول B2 را انتخاب کنید. (این فرض را بر این می گذارد که B2 اولین تاریخ در ردیف های داده شما است زیرا ردیف 1 حاوی سرصفحه ها است.)
- تب Data روبان را نمایش دهید.
- بر روی ابزار Sort Oldest to Newest کلیک کنید. اکسل داده ها را بر اساس تاریخ های ستون B، با قدیمی ترین تاریخ در ردیف 2 مرتب می کند.
- سطرهایی را که حاوی تاریخ های قبل از قطع شما هستند، انتخاب و حذف کنید.
اگر فقط لازم باشد هر چند وقت یکبار آن کار را انجام دهید و اگر ترتیب ردیف های داده ها را مجدداً مرتب کنید، این کار عالی است. اگر ترتیب مجدد مشکل است، ممکن است بخواهید یک ستون به داده های خود اضافه کنید و آن ستون را با مقادیر 1 تا هر تعداد ردیف داده پر کنید. سپس می توانید روش "مرتب سازی و حذف" را انجام دهید، اما پس از آن داده های خود را بر اساس مقادیر موجود در ستونی که اضافه کرده اید متوسل کنید.
البته، می توانید از روش «فیلتر و حذف» نیز استفاده کنید که بدون نیاز به ستون کمکی، داده های شما را به ترتیب اولیه خود می گذارد:
- سلول B2 را انتخاب کنید. (این فرض را بر این می گذارد که B2 اولین تاریخ در ردیف های داده شما است زیرا ردیف 1 حاوی سرصفحه ها است.)
- Ctrl+Shift+L را فشار دهید. اکسل AutoFilter را روی داده های شما اعمال می کند. (شما باید بتوانید فلش های کشویی کوچک در کنار سرصفحه های ردیف 1 را ببینید.)
- روی فلش کشویی کنار سرصفحه تاریخ در سلول B1 کلیک کنید. اکسل برخی از گزینه های مرتب سازی و فیلتر را نمایش می دهد.
- نشانگر ماوس خود را روی گزینه Date Filters ببرید. اکسل حتی گزینه های بیشتری را نمایش می دهد.
- گزینه Before را انتخاب کنید. اکسل کادر محاوره ای Custom AutoFilter را نمایش می دهد.
- در کادر سمت راست «Is Before»، تاریخ یک روز پس از تاریخ قطع خود را مشخص کنید.
- روی OK کلیک کنید. اکسل فیلتر را اعمال می کند و شما فقط می توانید ردیف هایی را ببینید که در تاریخ قطع یا قبل از آن هستند.
- همه سطرها را انتخاب کنید، اما ردیف 1 را انتخاب نکنید.
- تب Home نوار را نمایش دهید.
- روی ابزار Delete کلیک کنید. اکسل تمام ردیف های انتخاب شده را حذف می کند.
- تب Data روبان را نمایش دهید.
- برای حذف AutoFilter روی ابزار Filter کلیک کنید.
اگر نیاز دارید که مرتباً ردیف ها را حذف کنید، نمی توانید راحتی استفاده از ماکرو را بریک دهید. ماکرو زیر فرض می کند که تاریخ قطع را در سلول K1 قرار داده اید. این تاریخ را می گیرد و سپس به هر ردیف در داده های شما نگاه می کند و هر ردیفی را که قبل از این تاریخ قطع است حذف می کند.
Sub DeleteRowsBeforeCutoff()
Dim LastRow As Integer
Dim J As Integer
Application.ScreenUpdating = False
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
For J = LastRow To 1 Step -1
If Cells(J, 2) < [K1] Then
Cells(J, 2).EntireRow.Delete
End If
Next J
Application.ScreenUpdating = True
End Sub