Hỏi về dictionary (1 người xem)

Liên hệ QC

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

hoangminhgiam

Thành viên mới
Tham gia
24/2/13
Bài viết
13
Được thích
0
Em có file sau:
http://www.mediafire.com/?aun1ebpexm010gh
Em muốn dùng dictionary để kiểm duyệt sự trùng lặp dữ liệu:
-So sánh cột A,B với cột G,H.
Đầu tiên tìm kiếm dữ liệu ở cột A có nằm trên cột G hay không? (cái này dùng dictionary thì đơn giản rồi)
VD: Cell A1 có xuất hiện trên cột G (cell G1). Tô màu xanh ở cell A1 và G1
Nếu xuất hiện thì so sánh cell B1 với cell H1 xem có giống nhau hay ko? (có phân biệt chữ hoa và chữ thường)

VD khác:
Cell A7 giống cell G7-tô màu xanh vào cả hai cell, lúc này so sánh xem cell B7 bên cạnh cell A7 với cell H7 bên cạnh cell G7 xem giống nhau hay ko? nếu giống tô màu xanh, sai tô màu đỏ

VD khác: Cell A9 giống cell G9-tô màu xanh cả hai cell. Nhưng cell B9 khác cell H9 nên ở hai cell này tô màu vàng.
Ai biết thuật toán sử dụng dictionary xin mách dùm.
 
Em có file sau:
http://www.mediafire.com/?aun1ebpexm010gh
Em muốn dùng dictionary để kiểm duyệt sự trùng lặp dữ liệu:
-So sánh cột A,B với cột G,H.
Đầu tiên tìm kiếm dữ liệu ở cột A có nằm trên cột G hay không? (cái này dùng dictionary thì đơn giản rồi)
VD: Cell A1 có xuất hiện trên cột G (cell G1). Tô màu xanh ở cell A1 và G1
Nếu xuất hiện thì so sánh cell B1 với cell H1 xem có giống nhau hay ko? (có phân biệt chữ hoa và chữ thường)

VD khác:
Cell A7 giống cell G7-tô màu xanh vào cả hai cell, lúc này so sánh xem cell B7 bên cạnh cell A7 với cell H7 bên cạnh cell G7 xem giống nhau hay ko? nếu giống tô màu xanh, sai tô màu đỏ

VD khác: Cell A9 giống cell G9-tô màu xanh cả hai cell. Nhưng cell B9 khác cell H9 nên ở hai cell này tô màu vàng.
Ai biết thuật toán sử dụng dictionary xin mách dùm.
Mình không biết xài dictionary nhưng mình thấy cách này cũng xài được. Bạn thử xem sao
PHP:
Sub kyky()
Application.ScreenUpdating = False
Dim r As Long
For r = 1 To [a65536].End(3).Row
   If Cells(r, 1) = Cells(r, 7) Then
      Cells(r, 1).Interior.ColorIndex = 8
      Cells(r, 7).Interior.ColorIndex = 8
      If Cells(r, 2) = Cells(r, 8) Then
         Cells(r, 2).Interior.ColorIndex = 8
         Cells(r, 8).Interior.ColorIndex = 8
      Else
         Cells(r, 2).Interior.ColorIndex = 6
         Cells(r, 8).Interior.ColorIndex = 6
      End If
   End If
Next
Application.ScreenUpdating = True
End Sub
 
Upvote 0
cách này thì mình hiểu. Khi dữ liệu đủ lớn, xác nhận tính tồn tại, dùng dictionary là tuyệt đối. Nhưng khi xét cell liên quan ở bên cạnh nó thì chưa biết xử lý thế nào :(

Code của bạn chưa hoàn chỉnh ở chỗ:
Cells(r, 1) = Cells(r, 7)
cell (r,1) = cell (k,7) , r và k khác nhau thì sao. (ko cùng hàng)
 
Lần chỉnh sửa cuối:
Upvote 0
cách này thì mình hiểu. Khi dữ liệu đủ lớn, xác nhận tính tồn tại, dùng dictionary là tuyệt đối. Nhưng khi xét cell liên quan ở bên cạnh nó thì chưa biết xử lý thế nào :(

Code của bạn chưa hoàn chỉnh ở chỗ:
Cells(r, 1) = Cells(r, 7)
cell (r,1) = cell (k,7) , r và k khác nhau thì sao. (ko cùng hàng)


Thế thì câu hỏi chưa rõ ràng,
bạn nên đặt lại vấn đề xem nào
 
Upvote 0

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

Back
Top Bottom