هنگامی که داده ها را از یک منبع خارجی وارد می کنید، ممکن است نیاز به حذف داده های اضافی از یک کاربرگ داشته باشید. به عنوان مثال، ممکن است لازم باشد هر خط دوم یا هر خط پنجم را از داده ها حذف کنید. انجام این کار با دست می تواند خسته کننده و مستعد خطا باشد. خوشبختانه، شما میتوانید یک ماکرو ایجاد کنید تا به رفع خستگی و خطا کمک کند.
ماکرو زیر، DeleteRows، هر ردیف X را از کاربرگ شما حذف می کند. تنها کاری که باید انجام دهید این است که ردیف هایی را که می خواهید روی آن اعمال شود انتخاب کنید. ماکرو، همانطور که نوشته شده است، هر ردیف دوم را حذف می کند. بنابراین، اگر می خواهید ردیف های اول، سوم، پنجم و هفتم را که با ردیف 10 شروع می شوند حذف کنید، ردیف های 10 تا 16 را انتخاب کرده و سپس این ماکرو را اجرا کنید. در نتیجه سطرهای 10 (ردیف اول)، 12 (ردیف سوم)، 14 (ردیف پنجم) و 16 (ردیف هفتم) حذف می شوند.
Sub DeleteRows()
Dim iStart As Integer
Dim iEnd As Integer
Dim iCount As Integer
Dim iStep As Integer
Dim J As Integer
iStep = 2 Delete every 2nd row
Application.ScreenUpdating = False
iStart = 1
iCount = Selection.Rows.Count
Find ending row to start deleting
For J = iStart To iCount Step iStep
iEnd = J
Next
Do While iEnd >= iStart
Selection.Rows(iEnd).Delete
iEnd = iEnd — iStep
Loop
Application.ScreenUpdating = True
End Sub
اگر میخواهید چند خط دیگر را حذف کنید، به سادگی تنظیمات متغیر iStep را تغییر دهید. برای مثال، اگر میخواهید هر ردیف پنجم را حذف کنید، iStep را از 2 به 5 تغییر دهید.