Tô màu cho cột không chứa dữ liệu cần đối chiếu

Liên hệ QC

sep_hatxel

Thành viên thường trực
Tham gia
24/5/10
Bài viết
217
Được thích
7
Mình có bảng số liệu như sau: Cột A gồm các mã A0; A1; A2;...;An (Trong trường hợp này mình lấy với n=10 cho file nhẹ mới gửi được). Mình mong GPE giúp đỡ trường hợp sau:
-Lấy dòng A0 (dòng 4) làm gốc: nếu SL ở A0 đối chiếu với SL ở cột tiếp theo mà không có thì cột đó bị tô màu và bên dưới dòng cuối cùng ghi số cột tô màu liên tiếp. Ví dụ: A0 ở cột B có SL là 26 khi đối chiếu sang cột C, cột C không có SL 26 (không tính SL ở dòng B) thì cột C bị tô màu. A0 ở cột C là 26 đối chiếu sang cột D, cột D có SL 26 thì cột D không bị tô màu,...v..v. cứ như vậy cho đến hết!
- Xin cảm ơn!
 

File đính kèm

  • Tomauchocot.xlsx
    80.4 KB · Đọc: 35
Mình có bảng số liệu như sau: Cột A gồm các mã A0; A1; A2;...;An (Trong trường hợp này mình lấy với n=10 cho file nhẹ mới gửi được). Mình mong GPE giúp đỡ trường hợp sau:
-Lấy dòng A0 (dòng 4) làm gốc: nếu SL ở A0 đối chiếu với SL ở cột tiếp theo mà không có thì cột đó bị tô màu và bên dưới dòng cuối cùng ghi số cột tô màu liên tiếp. Ví dụ: A0 ở cột B có SL là 26 khi đối chiếu sang cột C, cột C không có SL 26 (không tính SL ở dòng B) thì cột C bị tô màu. A0 ở cột C là 26 đối chiếu sang cột D, cột D có SL 26 thì cột D không bị tô màu,...v..v. cứ như vậy cho đến hết!
- Xin cảm ơn!
Không biết đúng ý bạn không?
 

File đính kèm

  • Tomauchocot-viehoai.rar
    13.4 KB · Đọc: 17
Không biết đúng ý bạn không?
Cảm ơn bạn nhiều! ĐÚng ý tưởng như vậy đó bạn àh! Nếu thêm được phần đếm số cột tô màu liên tiếp ở dòng bên dưới thì hoàn hảo qúa! Rất cảm ơn bạn!
p/s: - Àh! Mình hỏi chút không biết code bạn để ở đâu mà mình tìm mãi ko ra để học hỏi? hì, "Dốt thì hay hỏi,mà không hỏi thì càng dốt"!
- Mình còn một chỗ nữa phiền bạn xem giúp: nếu mình coppy dữ liệu từ file khác và dán vào thì tính chất tô màu lại không còn nữa bạn àh? Và khi mình test thử thì chỉ được cho đến số dòng A10 là đúng nếu muốn test với số dòng nhiều hơn ( >A10) thì làm thế nào ạ? Không hiểu vì sao? Thân ái!
 
Lần chỉnh sửa cuối:
Bạn thử xài macro này (Mình viết trên E2003):

PHP:
Option Explicit
Sub ColorForColumn()
 Dim Rng As Range, Cls As Range, sRng As Range
 Dim eRw As Long, Col As Byte
 
 eRw = [b4].CurrentRegion.Rows.Count
 For Each Cls In Range([b4], [b4].End(xlToRight).Offset(, -1))
    Set Rng = Cls.Offset(1, 1).Resize(eRw)
    Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        Col = Rng(1).Column
        Rng.Interior.ColorIndex = 36
        Cells(eRw + 2, Col).Value = Cells(eRw + 2, Col - 1).Value + 1
'        If Col < 10 Then MsgBox Cells(eRw, Col).Address'
    Else
    End If
 Next Cls
End Sub
Chú í: Macro sẽ tô màu cột 13 do tại cột này không có trị nào là 03, mà chỉ có 3;
 
PHP:
Option Explicit
Sub ColorForColumn()
Dim Rng As Range, Cls As Range, sRng As Range
Dim eRw As Long, Col As Byte

eRw = [b4].CurrentRegion.Rows.Count
For Each Cls In Range([b4], [b4].End(xlToRight).Offset(, -1))
Set Rng = Cls.Offset(1, 1).Resize(eRw)
Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
If sRng Is Nothing Then
Col = Rng(1).Column
Rng.Interior.ColorIndex = 36
Cells(eRw + 2, Col).Value = Cells(eRw + 2, Col - 1).Value + 1
' If Col < 10 Then MsgBox Cells(eRw, Col).Address'
Else
End If
Next Cls
End Sub
Chú í: Macro sẽ tô màu cột 13 do tại cột này không có trị nào là 03, mà chỉ có 3;

! Ngày mới tốt lành! Cảm ơn bạn rất nhiều! ĐÚng như vậy rồi ạ! Không có gì để nói hơn được nữa! Chúc bạn thành công!
 
nếu mình coppy dữ liệu từ file khác và dán vào thì tính chất tô màu lại không còn nữa bạn àh? Và khi mình test thử thì chỉ được cho đến số dòng A10 là đúng nếu muốn test với số dòng nhiều hơn ( >A10) thì làm thế nào ạ? Không hiểu vì sao? Thân ái!
Mình sử dụng Conditional Formatting nên khi bạn copy dán thì dán chế độ value, còn bạn muốn mở rộng vùng thì copy định dạng (dùng Format Painter)
 
Web KT

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

Back
Top Bottom