Sử dụng VBA Macro trong Excel để xóa hàng hoặc loại bỏ mọi hàng khác

Trong bài viết này, Blog Học Excel Online sẽ liệt kê một số cách để xoá các hàng trong Excel 2010-2016 dựa trên giá trị ô. Bài này cũng giới thiệu các phím tắt và VBA trong Excel. Xóa hàng một cách tự động hoặc sử dụng tùy chọn Find kết hợp với các phím tắt hữu ích.

Phím tắt nhanh nhất để xóa các hàng trong bảng của bạn:

Nếu bạn muốn sử dụng phương pháp nhanh nhất để xóa nhiều hàng theo giá trị ô, trước tiên bạn cần chọn các hàng này.

Để chọn các hàng, bạn có thể đánh dấu các ô trên hàng cần đánh dấu và nhấn Shift + Space hoặc chọn các ô không liền kề bằng cách giữ phím Ctrl.

Bạn cũng có thể chọn toàn bộ hàng bằng cách sử dụng các nút số hàng. Bạn sẽ thấy hàng được đánh dấu bên cạnh nút số hàng.

Sau khi bạn chọn các hàng, bạn có thể nhanh chóng xóa chúng bằng cách sử dụng phím tắt “Delete Row” của Excel. Dưới đây bạn sẽ tìm thấy cách xóa hàng đã chọn cho dù bạn có một bảng dữ liệu hoặc bảng có chứa cả dữ liệu phía bên phải.

Xóa hàng khỏi toàn bộ bảng

Nếu bạn có một danh sách Excel đơn giản mà không có thông tin bổ sung ở bên phải, bạn có thể sử dụng phím tắt xóa hàng để loại bỏ các hàng trong 2 bước dễ dàng:

1. Chọn hàng bạn muốn xóa.

2. Nhấn phím tắt Ctrl + – (trừ trên bàn phím chính).

Bạn sẽ thấy các hàng không sử dụng biến mất trong nháy mắt.

Mẹo. Bạn có thể làm đánh dấu màu vùng chứa các giá trị bạn muốn loại bỏ. Sau đó sử dụng phím tắt Ctrl + – (trừ trên bàn phím chính) để hiện ra hộp thoại Delete cho phép  bạn chọn nút Entire row (toàn bộ hàng) hoặc bất kỳ tùy chọn xóa nào khác bạn muốn.

Xóa hàng nếu có dữ liệu ở bên phải bảng

Ctrl + – (trừ trên bàn phím chính) Phím tắt Excel là cách nhanh nhất để xóa hàng. Tuy nhiên, nếu có bất kỳ dữ liệu nào ở bên phải bảng chính của bạn như trên hình bên dưới, nó có thể xóa luôn các dữ liệu có thể bạn muốn giữ lại.

Nếu gặp trường hợp đó, trước tiên bạn cần phải định dạng dữ liệu của mình dưới dạng Bảng Excel.

1. Nhấn Ctrl + T hoặc vào tab Home -> Format as Table và chọn kiểu phù hợp nhất.


Bạn sẽ thấy hộp thoại Create Table mà bạn có thể sử dụng để đánh dấu khoảng cần thiết.

2. Bây giờ dữ liệu của bạn được định dạng, hãy chọn vùng giá trị hoặc hàng bạn muốn xóa trong bảng của mình.


Chú ý. Hãy chắc chắn rằng bạn không sử dụng các nút hàng để chọn toàn bộ hàng.

3. Nhấn Ctrl + – (trừ trên bàn phím chính) để xóa dữ liệu khỏi bảng của bạn. Các thông tin bổ sung ở bên phải sẽ được giữ nguyên.

Hy vọng bạn thấy cách xóa hàng này hữu ích. Hãy tiếp tục đọc để biết cách dùng Excel VBA để xóa các hàng và tìm hiểu làm thế nào để bỏ dữ liệu dựa trên văn bản nhất định.

Xóa các hàng có chứa dữ liệu định trong một cột

Nếu các mục trong hàng bạn muốn xóa xuất hiện chỉ trong một cột, các bước sau sẽ hướng dẫn bạn quá trình xoá các hàng chúng.

1. Đầu tiên bạn cần dùng Filter để lọc dữ liệu bảng của mình. Để thực hiện việc này, đến tab Data, chọn biểu tượng Filter.

2. Lọc cột có chứa các giá trị cần xóa dựa vào các tùy chọn. Nhấp vào biểu tượng mũi tên bên cạnh cột chứa các mục cần lọc. Sau đó bỏ chọn Select All cả và đánh dấu hộp kiểm bên cạnh các giá trị cần lọc. Nếu danh sách dài, chỉ cần nhập văn bản cần lọc vào Sau đó bấm OK để xác nhận.

Filter the column by the needed text

3. Chọn các ô được lọc trong các hàng mà bạn muốn xóa. Không cần phải chọn toàn bộ hàng.

4. Nhấp chuột phải vào vùng được đánh dấu và và chọn tùy chọn Delete Row từ danh sách trình đơn.

Cuối cùng nhấp vào biểu tượng Filter một lần nữa để hủy trạng thái lọc dữ liệu và thấy rằng các hàng với các giá trị không cần biến mất khỏi bảng của bạn.

Excel VBA Macro để xóa hàng hoặc loại bỏ mọi hàng khác

Nếu bạn luôn tìm kiếm một giải pháp để tự động thực hiện việc này hoặc thực hiện các thủ tục Excel, hãy chọn các macro bên dưới để xóa hàng. Trong phần này, bạn sẽ tìm thấy 2 VBA Macro giúp bạn loại bỏ các hàng với các ô đã chọn hoặc xóa những hàng khác trong Excel.

Macro RemoveRowsWithSelectedCells sẽ loại bỏ tất cả các dòng chứa ít nhất một ô được đánh dấu.

Macro RemoveEveryOtherRow sẽ giúp bạn xóa hàng thứ hai / thứ ba, vv, theo các thiết lập của bạn. Nó sẽ loại bỏ các hàng bắt đầu với vị trí con trỏ chuột hiện tại và cho đến cuối bảng của bạn.

Sub RemoveRowsWithSelectedCells()
    Dim rngCurCell, rng2Delete As Range
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    For Each rngCurCell In Selection
        If Not rng2Delete Is Nothing Then
            Set rng2Delete = Application.Union(rng2Delete, _
                ActiveSheet.Cells(rngCurCell.Row, 1))
        Else
            Set rng2Delete = rngCurCell
        End If
    Next rngCurCell
    If Not rng2Delete Is Nothing Then
        rng2Delete.EntireRow.Delete
    End If
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
Sub RemoveEveryOtherRow()
    Dim rowNo, rowStart, rowFinish, rowStep As Long
    Dim rng2Delete As Range
    rowStep = 2
    rowStart = Application.Selection.Cells(1, 1).Row
    rowFinish = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    For rowNo = rowStart To rowFinish Step rowStep
        If Not rng2Delete Is Nothing Then
            Set rng2Delete = Application.Union(rng2Delete, _
             ActiveSheet.Cells(rowNo, 1))
        Else
            Set rng2Delete = ActiveSheet.Cells(rowNo, 1)
        End If
    Next
    If Not rng2Delete Is Nothing Then
        rng2Delete.EntireRow.Delete
        ' Hide every other row
        'rng2Delete.EntireRow.Hidden = True
    End If
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub

VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên Excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như Word, Power Point, Outlook … giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp …

Để có thể học VBA một cách đầy đủ, có hệ thống, bạn hãy tham gia khoá học VBA101 – VBA cơ bản dành cho người mới bắt đầu của hệ thống Học Excel Online. Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký khóa học này. Chi tiết xem tại:


Tác giả: dtnguyen (Nguyễn Đức Thanh)

@ Học Excel Online | DTNguyen.business
· · ·

Khóa học mới xuất bản