Làm thế nào để xóa các hàng dựa trên màu nền trong Excel?
Làm thế nào bạn có thể xóa toàn bộ hàng dựa trên màu nền? Trong ví dụ này, tôi cần xóa tất cả các hàng có các ô được tô màu nền xanh lam như ảnh chụp màn hình sau. Với bài viết này, bạn sẽ nhận được một số mã để đạt được nhiệm vụ này trong Excel.
Xóa các hàng có màu nền cụ thể dựa trên từng ô
Xóa các hàng có màu nền cụ thể dựa trên một cột
Xóa các hàng có màu nền cụ thể dựa trên từng ô
Nếu bạn có một dải dữ liệu chứa một số màu ô ngẫu nhiên và bạn cần phải xóa các hàng có màu ô là xanh lam như ảnh chụp màn hình sau:
Để xóa loại hàng này, bạn có thể sử dụng mã VBA sau, vui lòng thực hiện như sau:
1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Xóa các hàng có ô chứa màu tô cụ thể:
Sub DeleteRows()
'Updateby Extendoffice
Dim rngCl As Range
Dim xRows As Long
Dim xCol As Long
Dim colorLg As Long
On Error Resume Next
Set rngCl = Application.InputBox _
(Prompt:="Select a cell with the background color to be deleted", _
Title:="Kutools for Excel", Type:=8)
On Error GoTo 0
If rngCl Is Nothing Then
MsgBox "User cancelled operation." & vbCrLf & _
"Processing terminated", vbInformation, "Kutools for Excel"
Exit Sub
End If
colorLg = rngCl.Interior.Color
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
For xRows = .Rows.Count To 1 Step -1
For xCol = 1 To .Columns.Count
If .Cells(xRows, xCol).Interior.Color = colorLg Then
.Rows(xRows).Delete
Exit For
End If
Next xCol
Next xRows
End With
Application.ScreenUpdating = True
End Sub
3. Và sau đó nhấn F5 để chạy mã này và một hộp nhắc sẽ bật ra để nhắc bạn chọn một ô có màu tô mà bạn muốn xóa, xem ảnh chụp màn hình:
4. Sau đó nhấn vào OKvà tất cả các hàng đã bị xóa nếu ô có màu tô cụ thể.
Xóa các hàng có màu nền cụ thể dựa trên một cột
Ví dụ: nếu bạn muốn xóa các hàng có màu cụ thể chỉ dựa trên một cột, hãy xóa các hàng có màu xanh lam trong cột A và lấy ảnh chụp màn hình bên dưới, đây cũng là một mã VBA có thể giúp bạn.
1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Xóa các hàng dựa trên một cột mà các ô có màu tô cụ thể:
Sub deleterow()
'UpdateBY Extendoffice
Dim xRg As Range, rgDel As Range
For Each xRg In ThisWorkbook.ActiveSheet.Range("A2:A21")
If xRg.Interior.ColorIndex = 20 Then
If rgDel Is Nothing Then
Set rgDel = xRg
Else
Set rgDel = Union(rgDel, xRg)
End If
End If
Next xRg
If Not rgDel Is Nothing Then rgDel.EntireRow.Delete
End Sub
Chú thích: Trong đoạn mã trên, A2: A21 là cột chứa màu tô cụ thể mà bạn muốn xóa các hàng dựa trên, số 20 in Chỉ số màu = 20 script là chỉ mục màu mà bạn muốn xóa các hàng dựa trên. Bạn có thể thay đổi chúng theo nhu cầu của bạn.
3. Sau đó nhấn F5 để chạy mã này và tất cả các hàng có ô chứa màu xanh lam trong cột A đã bị xóa cùng một lúc.
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!