Cần sửa VBA xóa tô màu nền

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

barney1

Thành viên mới
Tham gia
26/4/20
Bài viết
36
Được thích
1
Em đang có 1 VBA tô màu nền xen kẽ đen- trắng , viết dữ liệu cột B xong thì sẽ tự tô màu các dòng chẵn. Nhưng với các dòng đã viết dữ liệu rồi, xóa dữ liệu thì các dòng tô màu không tự xóa theo. Các bác chỉ giúp cách sửa code

Sub ToMau1()
Dim ws As Worksheet
Dim lastRowA As Long
Dim lastRowB As Long
Dim lastColumn As Long
Dim i As Long
Dim j As Long
Dim cell As Range



Set ws = ThisWorkbook.Sheets("GOI")

' Xac dinh dong cuoi- cot B
lastRowB = ws.Cells(ws.Rows.Count, "B").End(xlUp).row
' Xac dinh dong cuoi tu cot F
lastColumn = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
lastRowA = ws.Cells(ws.Rows.Count, "A").End(xlUp).row


If lastRowB > 1 Then
Range("A1:E" & lastRowA).Interior.ColorIndex = xlColorIndexNone
For i = 1 To lastRowB
' Kiem tra neu chan
If i Mod 2 = 0 Then
' Tô màu den cot cuoi co du lieu
For j = 1 To lastColumn
ws.Cells(i, j).Interior.Color = RGB(218, 218, 218)
Next j
End If
Next i

End If
End Sub
 

File đính kèm

  • VBA xoa to mau.xlsm
    119.3 KB · Đọc: 8
Bạn cho ví dụ cụ thể:
Ví dụ:
Xóa nội dung ô B6 (dòng chẵn) , cả dòng 6 tô màu trắng
Nhập nội dung ô B6 (dòng chẵn) , cả dòng 6 tô màu đen
Hoặc xóa cả dòng từ 6:10, bắt đầu từ dòng 6 trở xuống tô màu lại theo quy tắc dòng chẵn thì tô.
....
Đại loại như vậy đó.
 
Upvote 0
Thêm 1 dòng Range("A10:F100").ClearFormats trước khi thực hiện lệnh tô màu...
 
Upvote 0
Đơn giản nhất là chuyển qua table;
không cần cốt kiếc gì cả;
lại có nhiều style để lựa chọn...
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom