هنگامی که با جداول داده ای حاوی اطلاعاتی که از شخص دیگری دریافت کرده اید کار می کنید، ممکن است بخواهید در صورت رعایت یک شرط خاص، مقدار داده های جدول را با حذف ردیف ها کاهش دهید. راه های مختلفی وجود دارد که می توانید به چنین کاری نزدیک شوید.
روش اول استفاده از ویژگی فیلتر خودکار اکسل است. اگر معیارهای نسبتاً ساده ای برای حذف ردیف ها داشته باشید، به ویژه خوب کار می کند. هنگامی که فیلتر خودکار را روشن می کنید، اکسل دکمه های کشویی را در سمت راست هر سلول در ردیف سرصفحه جداول داده قرار می دهد. با استفاده از این دکمه های کشویی می توانید رکوردهایی را که می خواهید نمایش داده شوند مشخص کنید. شما باید یک مقدار فیلتر را انتخاب کنید که منجر به نمایش تنها ردیف هایی شود که می خواهید حذف کنید. با نمایش آن ردیف ها، می توانید آن ها را انتخاب کنید و از ابزارهای نوار برای خلاص شدن از شر ردیف ها استفاده کنید. وقتی AutoFilter را خاموش می کنید، تنها ردیف هایی که می خواهید باقی می مانند.
روش دیگر شامل استفاده از ماکروها برای انجام حذف برای شما است. اگر مجبور به حذف روی داده های زیادی هستید، یا اگر اغلب این کار را انجام می دهید، این روش به خوبی کار می کند. ماکرو زیر می تواند ردیف ها را بر اساس یک مقدار کلید حذف کند:
Sub DeleteRows()
Dim sToDelete As String
Dim ThisRow As Integer
Dim ThatRow As Integer
Dim ThisCol As Integer
Dim J As Integer
Dim iDeleted As Integer
sToDelete = InputBox("Value to Trigger Delete?", "Delete Rows")
With Selection
ThisRow = .Row
ThatRow = ThisRow + .Rows.Count - 1
ThisCol = .Column
For J = ThatRow To ThisRow Step -1
If Cells(J, ThisCol) = sToDelete Then
Rows(J).EntireRow.Delete
iDeleted = iDeleted + 1
End If
Next J
End With
MsgBox "Number of deleted rows: " & iDeleted
End Sub
برای استفاده از ماکرو، محدوده کلیدی را انتخاب کنید که ردیف هایی را که می خواهید علامت بزنید را پوشش می دهد. برای مثال، اگر کلیدی که باید بررسی شود در ستون G است و می خواهید ردیف های 5 تا 73 را بررسی کنید، محدوده G5:G73 را انتخاب کنید. وقتی ماکرو را اجرا می کنید، از شما می پرسد که چه مقداری را باید بررسی کنید. اگر هر سلولی در محدوده G5:G73 حاوی مقداری باشد که شما مشخص کرده اید، ردیف مربوط به آن سلول حذف می شود.
به یاد داشته باشید که اگر از ماکرو برای حذف ردیف ها استفاده کنید، آن ردیف ها برای همیشه حذف می شوند. این می تواند در برخی شرایط یک نقطه ضعف باشد. اگر چنین است، باید به تکنیک AutoFilter تکیه کنید یا قبل از اجرای ماکرو یک کپی از کاربرگ خود تهیه کنید.
بدیهی است راه های دیگری برای حذف ردیف ها بر اساس مقدار وجود دارد. برای انتخاب خوب روش های مختلف، به این صفحه نگاه کنید:
https://www.ozgrid.com/VBA/VBACode.htm