VBA code tô màu ô excel theo điều kiện so sánh (1 người xem)

  • Thread starter Thread starter eagle12
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

eagle12

Thành viên chính thức
Tham gia
18/12/13
Bài viết
50
Được thích
14
Chào các anh chị

Em xin nhờ các bác code giùm để có thể tô màu cho ô tại bảng bên phải nếu giá trị bằng với ô tại bảng trái tương ứng

Ví dụ tô thành màu vàng như dưới đây ạ
1771900488977.png
 

File đính kèm

Giải pháp
Chào các anh chị

Em xin nhờ các bác code giùm để có thể tô màu cho ô tại bảng bên phải nếu giá trị bằng với ô tại bảng trái tương ứng

Ví dụ tô thành màu vàng như dưới đây ạ
View attachment 311101
Chúng ta lại gặp nhau trên diên đàn rồi:
Bài này có thể dùng Định dạng có điều kiện cũng dduocj kết quả:
Tham khảo công thưc sau: =AND(AG4<>"";AG4<>0;AG4=B4)
Phần áp dụng cho : = =$AG$4:$BJ$145
Phần màu do bạn chọn.
Còn nếu muốn VBA Thì Tham khảo đoạn code sau:
(Nếu Cell nào đó (cùng hàng) trong bảng bên phải = với cell nào đó ở bảng bên trái (cùng hàng thì tô màu)
Mã:
Sub ToMau()
Dim i&, j&, Lr, R&
Dim Rng As Range, sRng As Range, eRng As Range, Cell As Range
With Sheets("Sheet1")
.Cells.Interior.ColorIndex = 0
For j = 1 To 100
    R =...
Chào các anh chị

Em xin nhờ các bác code giùm để có thể tô màu cho ô tại bảng bên phải nếu giá trị bằng với ô tại bảng trái tương ứng

Ví dụ tô thành màu vàng như dưới đây ạ
View attachment 311101
Chúng ta lại gặp nhau trên diên đàn rồi:
Bài này có thể dùng Định dạng có điều kiện cũng dduocj kết quả:
Tham khảo công thưc sau: =AND(AG4<>"";AG4<>0;AG4=B4)
Phần áp dụng cho : = =$AG$4:$BJ$145
Phần màu do bạn chọn.
Còn nếu muốn VBA Thì Tham khảo đoạn code sau:
(Nếu Cell nào đó (cùng hàng) trong bảng bên phải = với cell nào đó ở bảng bên trái (cùng hàng thì tô màu)
Mã:
Sub ToMau()
Dim i&, j&, Lr, R&
Dim Rng As Range, sRng As Range, eRng As Range, Cell As Range
With Sheets("Sheet1")
.Cells.Interior.ColorIndex = 0
For j = 1 To 100
    R = Sheets("Sheet1").Cells(10000, j).End(xlUp).Row
    If Lr < R Then Lr = R
Next j

For i = 4 To Lr
    Set Rng = .Range("B" & i).Resize(, 30)
    Set sRng = .Range("AG" & i).Resize(, 30)
    For Each Cell In sRng 'j = 1 To eRng.Columns.Count
        If Cell <> Empty Then
            If Not Rng.Find(Cell) Is Nothing Then
                If eRng Is Nothing Then
                    Set eRng = Cell
                Else
                    Set eRng = Union(eRng, Cell)
                End If
            End If
        End If
    Next
Next i
If Not eRng Is Nothing Then eRng.Interior.ColorIndex = 6 'màu do=3, màu vàng=6
End With
End Sub
Còn muốn chỉ tô màu khi Cell /Bảng bên phải = Cell tương ứng/bảng bên trái thì phải sửa lại code.
Xem file.
 

File đính kèm

Upvote 0
Giải pháp
Em chào anh, năm mới chúc anh và gđ sức khỏe bình an nha anh,

Em thử công thức cho điều kiện tô màu vào file gốc ok rồi anh ah
Còn code VBA hình như không chạy ra KQ được anh à

Chúng ta lại gặp nhau trên diên đàn rồi:
Bài này có thể dùng Định dạng có điều kiện cũng dduocj kết quả:
Tham khảo công thưc sau: =AND(AG4<>"";AG4<>0;AG4=B4)
Phần áp dụng cho : = =$AG$4:$BJ$145
Phần màu do bạn chọn.
Còn nếu muốn VBA Thì Tham khảo đoạn code sau:
(Nếu Cell nào đó (cùng hàng) trong bảng bên phải = với cell nào đó ở bảng bên trái (cùng hàng thì tô màu)
 
Upvote 0
Em chào anh, năm mới chúc anh và gđ sức khỏe bình an nha anh,

Em thử công thức cho điều kiện tô màu vào file gốc ok rồi anh ah
Còn code VBA hình như không chạy ra KQ được anh à
Nhưng bạn đã thử trên file tôi gửi chưa? Lạ nhỉ?
Nếu bạn vẫn muốn dung Code thì gửi lại file (số liệu giả định) mà code chạy không ra KQ cho tôi, tôi sẽ xem lại.
Thân!
 
Upvote 0
Nhưng bạn đã thử trên file tôi gửi chưa? Lạ nhỉ?
Nếu bạn vẫn muốn dung Code thì gửi lại file (số liệu giả định) mà code chạy không ra KQ cho tôi, tôi sẽ xem lại.
Thân!
Tối hôm qua em thử tại máy ở nhà mấy lần k được, chạy từ file anh đã chèn code vào
Giờ em thử lại máy khác tại cty lại OK, lạ thật

Tối về em tải lại máy ở nhà 1 lần nữa xem sao

Em cám ơn anh nhiều nha
 
Upvote 0

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

Back
Top Bottom