Khi bạn nhập dữ liệu từ một nguồn bên ngoài, bạn có thể gặp phải yêu cầu xóa dữ liệu không liên quan khỏi trang tính. Ví dụ: bạn có thể phải xóa mọi dòng thứ hai khỏi dữ liệu hoặc mọi dòng thứ năm.

Làm điều này bằng tay có thể tẻ nhạt và dễ mắc lỗi. May mắn thay, bạn có thể tạo một macro để giúp loại bỏ cả sự tẻ nhạt và lỗi.

Macro sau, DeleteRows, sẽ xóa mọi X hàng khỏi trang tính của bạn. Tất cả những gì bạn phải làm là chọn các hàng bạn muốn áp dụng cho nó.

Macro, như đã viết, sẽ loại bỏ mọi hàng thứ hai. Vì vậy, nếu bạn muốn xóa các hàng đầu tiên, thứ ba, thứ năm và thứ bảy bắt đầu bằng hàng 10, bạn sẽ chọn các hàng từ 10 đến 16 và sau đó chạy macro này. Kết quả là các hàng 10 (hàng đầu tiên), 12 (hàng thứ ba), 14 (hàng thứ năm) và 16 (hàng thứ bảy) bị xóa.

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

Nếu bạn muốn xóa một số dòng khác, chỉ cần thay đổi cài đặt cho biến iStep. Ví dụ: nếu bạn muốn xóa mọi hàng thứ năm, hãy thay đổi iStep từ 2 thành 5. (Bạn chỉ cần thực hiện một thay đổi duy nhất, trong khai báo iStep = 2.)

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (2292) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: