Code tìm kiếm và so sánh dữ liệu

Liên hệ QC

bebeen

Thành viên thường trực
Tham gia
13/2/12
Bài viết
213
Được thích
24
Em muốn nhờ AC thiết lập cho em code tìm kiếm và so sánh dữ liệu. Câu hỏi cụ thể trong file đính kèm!
Cám ơn AC nhiều!
 

File đính kèm

  • Finding Data.rar
    13.6 KB · Đọc: 19
LA chắc là Lào . còn VL hổng biết . Venezuela chăng ....
 
Upvote 0
Không thích hpkhuong xài CF. Vì mỗi lần xài là mình lại không thấy được có gì ở trong đó. Và hình như file bị lỗi gì đó.@#!^%

Nhớ vụ bữa topic kia. Teamview xử cho e ý. Nhưng .........trong khi làm thì phát hiện ra 1 điều rằng...........Office 2007 không thể CF so sánh dữ liệu giữa 2 worksheet khác nhau.........Hình như trong 1 sheet mới cho phép đặt điều kiện ý.
Cho nên chủ topic này chắc cũng là Office 2007 rồi...........
Thành thật........nên nâng cấp lên cả đi...............2010 hoặc cao hơn...........kakaka//**///**///**///**///**/
 
Upvote 0
Nhớ vụ bữa topic kia. Teamview xử cho e ý. Nhưng .........trong khi làm thì phát hiện ra 1 điều rằng...........Office 2007 không thể CF so sánh dữ liệu giữa 2 worksheet khác nhau.........Hình như trong 1 sheet mới cho phép đặt điều kiện ý.
Cho nên chủ topic này chắc cũng là Office 2007 rồi...........
Thành thật........nên nâng cấp lên cả đi...............2010 hoặc cao hơn...........kakaka//**///**///**///**///**/
Đúng, em đang sài Office 2007. Ở khu vực này kiếm cái đĩa đó sao mà khó thế anh ạ!Về đến HN thì muộn không ai bán. Thui, chủ nhật này em phải lang thang thu đô mua thui...! Hi...
 
Upvote 0
Đúng, em đang sài Office 2007. Ở khu vực này kiếm cái đĩa đó sao mà khó thế anh ạ!Về đến HN thì muộn không ai bán. Thui, chủ nhật này em phải lang thang thu đô mua thui...! Hi...

Cần gì đĩa cài cơ chứ. Bạn lên google search chút xíu là đầy ra mà download về cài (2010 hoặc 2013)....
Thời nay ai xài đĩa, google đầy ra đó.........../-*+//-*+//-*+/
 
Upvote 0
Đúng, em đang sài Office 2007. Ở khu vực này kiếm cái đĩa đó sao mà khó thế anh ạ!Về đến HN thì muộn không ai bán. Thui, chủ nhật này em phải lang thang thu đô mua thui...! Hi...
Xài CF thì xài Countif là ra rồi. Muốn code thì cho bạn code này:
Mã:
Sub ToMau()
Dim I, J
  With Sheet2
     For I = 5 To .Range("A" & Rows.Count).End(3).Row
       For J = 1 To 3
          If Application.WorksheetFunction.CountIf(Sheet1.Range("A1:C250"), Sheet2.Range("A" & I).Offset(, J - 1)) = 0 Then
             .Range("A" & I).Offset(, J - 1).Font.Bold = True
             .Range("A" & I).Offset(, J - 1).Font.Color = -16776961
          End If
       Next J
     Next
  End With
End Sub
 
Upvote 0
Nhớ vụ bữa topic kia. Teamview xử cho e ý. Nhưng .........trong khi làm thì phát hiện ra 1 điều rằng...........Office 2007 không thể CF so sánh dữ liệu giữa 2 worksheet khác nhau.........Hình như trong 1 sheet mới cho phép đặt điều kiện ý.
Đúng là bất cập nằm ở đấy. Cho nên lý do không thấy được cũng do nguyên nhân này
 
Upvote 0
Xài CF thì xài Countif là ra rồi. Muốn code thì cho bạn code này:
Mã:
Sub ToMau()
Dim I, J
  With Sheet2
     For I = 5 To .Range("A" & Rows.Count).End(3).Row
       For J = 1 To 3
          If Application.WorksheetFunction.CountIf(Sheet1.Range("A1:C250"), Sheet2.Range("A" & I).Offset(, J - 1)) = 0 Then
             .Range("A" & I).Offset(, J - 1).Font.Bold = True
             .Range("A" & I).Offset(, J - 1).Font.Color = -16776961
          End If
       Next J
     Next
  End With
End Sub

có vẻ mạnh mẽ . hí hí
nhưng có cách nào không dùng vòng lặp không ta ? hi hi
 
Upvote 0
dạ em chưa hiểu lắm , anh có thể demo cái function đó dùm em được không anh . cám ơn
thay vì viết If Application.WorksheetFunction.CountIf(Sheet1.Range("A1:C250"), Sheet2.Range("A" & I).Offset(, J - 1)) = 0
thì viết ra riêng cho mình 1 cái Function đếm là ok
 
Upvote 0
thay vì viết If Application.WorksheetFunction.CountIf(Sheet1.Range("A1:C250"), Sheet2.Range("A" & I).Offset(, J - 1)) = 0
thì viết ra riêng cho mình 1 cái Function đếm là ok
ủa vậy là anh hiểu nhầm ý em thì phải . em hỏi là ở trên có 2 cái vòng lặp lồng nhau
có cách nào bỏ hết không còn cái vòng nào không ấy ....
 
Upvote 0
Xài CF thì xài Countif là ra rồi. Muốn code thì cho bạn code này:
Mã:
Sub ToMau()
Dim I, J
  With Sheet2
     For I = 5 To .Range("A" & Rows.Count).End(3).Row
       For J = 1 To 3
          If Application.WorksheetFunction.CountIf(Sheet1.Range("A1:C250"), Sheet2.Range("A" & I).Offset(, J - 1)) = 0 Then
             .Range("A" & I).Offset(, J - 1).Font.Bold = True
             .Range("A" & I).Offset(, J - 1).Font.Color = -16776961
          End If
       Next J
     Next
  End With
End Sub

Nếu dùng cái này, khi chạy code rồi nó cho kết quả đúng ý em. Nhưng em muốn chưa thấy thỏa mãn vì: Nếu Chạy code nó sẽ tìm ra mã sai và tô màu. Khi mình sửa mã đó cho đúng và chạy lại code thì nó vẫn giữ màu đã tô mà không trở về trạng thái bình thường như khi nó là đúng? Vậy code này phải sửa lại như thế nào ạ?
 
Upvote 0
Web KT
Back
Top Bottom