Xin trợ giúp tô màu dữ liệu trùng từ 2 sheets khác nhau thuộc cùng một book! (1 người xem)

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

sanzin111085

Thành viên mới
Tham gia
16/11/10
Bài viết
25
Được thích
0
Mình có bảng dữ liệu như file đính kèm:

  • Ở Annex 1 thì có 3 cột B, C , F (sheet 1)
  • Ở Annex 2 thì ở 3 cột B, C, D (sheet 2)
Nếu dữ liệu ở cột B, C ở Annex 1 trùng với B, C ở Annex 2 và dữ liệu ở cột F Annex 1 trùng với dữ liệu cột D Annex 2 thì tô màu vàng (hoặc bất cứ màu gì cũng được).

  1. Cách diễn giải khác: Mình làm ở phòng XNK nền hay có phụ tùng về: ở đó có phụ tùng order và phụ tùng về thực tế:

  • Ở Annex 1 thì là bảng phụ tùng Order: bao gồm mã hàng_cột B, Tên hàng_cột C, Số lương_cột F
  • Ở Annex 2 thì là bảng phụ tùng thực tế: bao gồm mã hàng_cột B, Tên hàng_cột C, Số lương_cột D
Nếu dữ liệu ở các cột tương ứng của 2 Annex là giống nhau thì tô màu trùng (màu vàng hoặc bất cứ màu nào cũng được).

Cám ơn các bạn đã đọc, xin các cao thủ ra tay cứu giúp.
 

File đính kèm

Tìm các dòng trong Annex 1 có trong Annex 2, bạn làm từng bước nha:

* Ghép 3 ô trong Annex 1, tìm trong 3 cột trong Annex 2, kiểm tra sự tồn tại:
Ctrl-F3, đặt 1 name tên là check1:
PHP:
=MATCH('Annex 1'!$B633&'Annex 1'!$C633&'Annex 1'!$F633,'Annex 2'!$B$4:$B$103&'Annex 2'!$C$4:$C$103&'Annex 2'!$D$4:$D$103,0)

* Vào Conditional Formatting, đặt điều kiện:
=ISERROR(check1)=FALSE
Chọn format theo ý muốn

Sheet Annex 2, mình làm tương tự với name check2, nhưng chắc bạn không cần vì tất cả đều có trong Annex 2, không cần tô màu.
 

File đính kèm

Upvote 0
Mình làm được rồi, cám ơn ^^~ Có mã VBA thì tốt quá. Ai giúp mình bằng mã VBA với nhé. Thanks
 
Lần chỉnh sửa cuối:
Upvote 0
Chào bạn

Bạn có thể làm như sau: (mình đổi tên sheet Annex 1 thành a1, Annex 2 thành a2 cho công thức ngắn và dễ nhìn, có gì bạn đổi lại nhé).

Tại sheet a1, bạn chọn khối b9:h772, sau đó vào conditional formatting, chọn fomular is, đánh vào công thức
=and(match(b9;a2!$b$4:$b$103;0)=match(c9;a2!$c$4:$c$103;0);match(b9;a2!$b$4:$b$103;0)=match(f9;a2!$d$4:$d$103;0))

set format, ok là xong

Tại sheet a2, bạn chọn khối b4:h103, sau đó vào conditional formatting, chọn fomular is, đánh vào công thức

=and(match(b4;a1!$b$9:$b$772;0)=match(c4;a1!$b$9:$b$772;0);match(b4;a1!$b$9:$b$772;0)=match(d4;a1!$f$9:$f$772;0))

set format, ok là xong

Sở dĩ mình không gởi file đính kèm là vì mình sử dụng excel 2010, file của bạn là 2003, sau khi mình làm trên file của bạn, save lại, khi mở ra nó mất hết. Bạn chịu khó vậy nhé, mình thử rồi, rất ok
 
Upvote 0
Mình làm được rồi, cám ơn ^^~ Có mã VBA thì tốt quá. Ai giúp mình bằng mã VBA với nhé. Thanks
Muốn VBA thì tặng bạn Vê Bê A đây. Híc
Mã:
Public Sub ToMau()
    Dim d, Vung, I, Gom, Cll
    Set d = CreateObject("scripting.dictionary")
    Vung = Sheets("Annex 2").Range(Sheets("Annex 2").[B4], Sheets("Annex 2").[B50000].End(xlUp)).Resize(, 3).Value
        For I = 1 To UBound(Vung)
            Gom = Vung(I, 1) & Vung(I, 2) & Vung(I, 3)
            If Not d.exists(Gom) Then d.Add (Gom), ""
        Next
            For Each Cll In Range([B9], [B50000].End(xlUp))
                Gom = Cll & Cll.Offset(, 1) & Cll.Offset(, 4)
                If d.exists(Gom) Then Cll.Resize(, 7).Interior.ColorIndex = 6
            Next Cll
End Sub
Thân
 

File đính kèm

Upvote 0
Dear Concogia,

Bạn có thể viết thêm cho mình một đoạn code cho bài tập này được không ?!

Tức là nếu dữ liệu ở annex 2 và annex 1 chỉ trùng nhau mã hàng (Part no.), Tên hàng (Part name), Nhưng khác về số lượng (quantity) thì tô màu đỏ, còn trùng hết thì vẫn tô màu vàng, và tô ở cả 2 annex là như nhau được không(ở file của bạn chỉ mới tô màu ở annex1)?! cám ơn bạn trước.

Trân trọng!
 
Lần chỉnh sửa cuối:
Upvote 0
Dear Concogia,

Bạn có thể viết thêm cho mình một đoạn code cho bài tập này được không ?!

Tức là nếu dữ liệu ở annex 2 và annex 1 chỉ trùng nhau mã hàng (Part no.), Tên hàng (Part name), Nhưng khác về số lượng (quantity) thì tô màu đỏ, còn trùng hết thì vẫn tô màu vàng, và tô ở cả 2 annex là như nhau được không(ở file của bạn chỉ mới tô màu ở annex1)?! cám ơn bạn trước.

Trân trọng!
Híc.
1- Annex 2 là hàng mua theo đơn đặt ở Annex 1 thì đương nhiên nó phải có mặt ở Annex 1 chứ bạn nên mình hổng có tô màu cho nó, có trường hợp mua hàng ngoài đơn đặt hàng không ??? Nếu có bạn muốn kiếm nó rồi "chét" cho nó một màu hông ???
2- Trùng Mã, trùng Tên hàng & khác Số lượng thì tô màu "đỏ" ở 2 sheet ? Nếu một mặt hàng ở Annex 2 vừa trùng Mã, Tên, Số lượng lại vừa trùng Mã, Tên nhưng khác số lượng thì tô ra mần sao ? Sheet Annex 1 của bạn dữ liệu không duy nhất nên có thể xảy ra trường hợp này
Tóm lại, đây là dữ liệu của bạn, bạn biết sẽ xảy ra các trường hợp nào thì nói lại cho rõ để làm một lần đỡ phải sửa
Thân
 
Upvote 0
Dear Concogia,

Have a nice day!

Dữ liệu của mình bao gồm:

Annex 1: Danh mục hàng đặt (Order)
Annex 2: Hàng về thực tế

Ở công việc của mình thì đôi lúc hàng về thực tế không trùng với hàng đặt cả về danh mục hàng và số lượng hàng.
Bạn có thể giúp mình tô màu:

vàng cho cả 2 annex nếu như hàng về trùng mã, tên, số lượng. (B,C,F_annex1)
Đỏ cho cả 2 annex nếu hàng trùng mã, tên, nhưng lại khác số lượng. (B,C,D_annex2)

Và đôi lúc hàng về thực tế còn không có trong hàng đặt (annex1) nên mình muốn nhờ bạn tô hộ mình ở cả 2 annex. Như dữ liệu mình cung cấp ở trên chỉ là một trường hợp hàng về. Cám ơn bạn nhiều.

Trân trọng,

Sanzin
 
Lần chỉnh sửa cuối:
Upvote 0
Dear Concogia,

Have a nice day!

Dữ liệu của mình bao gồm:

Annex 1: Danh mục hàng đặt (Order)
Annex 2: Hàng về thực tế

Ở công việc của mình thì đôi lúc hàng về thực tế không trùng với hàng đặt cả về danh mục hàng và số lượng hàng.
Bạn có thể giúp mình tô màu:

vàng cho cả 2 annex nếu như hàng về trùng mã, tên, số lượng. (B,C,F_annex1)
Đỏ cho cả 2 annex nếu hàng trùng mã, tên, nhưng lại khác số lượng. (B,C,D_annex2)

Và đôi lúc hàng về thực tế còn không có trong hàng đặt (annex1) nên mình muốn nhờ bạn tô hộ mình ở cả 2 annex. Như dữ liệu mình cung cấp ở trên chỉ là một trường hợp hàng về. Cám ơn bạn nhiều.

Trân trọng,

Sanzin
Thực tế thì bài này còn nhiều vấn đề chưa rõ lắm nên rất khó làm thỏa được các yêu cầu. Dữ liệu 2 sheet trùng rất nhiều nên tạm thời mình làm theo hướng này:
- Tô màu vàng ở 2 sheet tất cả các dòng thỏa Mã, Tên và Số lượng ( mình thắc mắc tí tẹo: Mã hàng phải duy nhất thì cần quái gì Tên hàng nhỉ ?)
- Loại những dòng đã tô vàng, tìm những Mã & Tên còn trùng tô nó màu đỏ
- Những Mã hàng nhập về mà không có đặt hàng ( có ở Annex 2 mà không có ở Annex 1) thì tô màu hồng
Có gì bàn tiếp, đừng sốt ruột. Híc
Thân
 

File đính kèm

Upvote 0
Bạn xem trong file kèm theo của mình

Trong trang Ann2 mình có đổi 1 số giá trị để kiểm chứng kết quả macro

(Mình cứ lấy ít so với nhiều thôi.)
 

File đính kèm

Upvote 0
Em có file đính kèm mong các AC giúp tô màu.Trong file em có ghi rỏ.
 

File đính kèm

Upvote 0
Em có file đính kèm mong các AC giúp tô màu.Trong file em có ghi rỏ.
Thay code này vào
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address <> "$E$2" Or Target.Count > 1 Then Exit Sub
      Application.EnableEvents = False
      Dim tam, Cell, rng
      If Target.Column = 5 Then
      tam = Target
         Target = "=""=" & "" & "" & tam & """"
      End If
      [E4:H100].Clear
      Sheet2.[F3:I1000].AdvancedFilter 2, [E1:E2], Sheet3.[E3:H3]
      If Target.Column = 5 Then Target = tam
      For Each Cell In Range("E4", [E65536].End(3))
         Set rng = Sheet1.[I:I].Find(Cell, , , 1)
         If Not rng Is Nothing Then
            Cell.Interior.ColorIndex = 6
            Cell.Offset(, 3).Interior.ColorIndex = 6
         End If
      Next
      Application.EnableEvents = True
End Sub
 
Upvote 0

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

Back
Top Bottom