Hỏi về lọc key bằng Scripting.Dictionary

Liên hệ QC

hoanganhdl

Thành viên hoạt động
Tham gia
10/2/09
Bài viết
135
Được thích
74
Nghề nghiệp
Kế toán viên
Đại khái là mình lọc đữ liệu theo ngày vào sheet temp sau đó dùng Scripting.Dictionary để lọc dữ liệu trùng, mục đích là lọc key để ra bảng báo cáo nhưng nếu như bên phải hay bên trái ko có dữ liệu thì trong keys có key null, làm sao để khắc phục vấn đề này nhỉ
Xin nhờ các thầy, các ace GPE giúp đỡ.
 
Đại khái là mình lọc đữ liệu theo ngày vào sheet temp sau đó dùng Scripting.Dictionary để lọc dữ liệu trùng, mục đích là lọc key để ra bảng báo cáo nhưng nếu như bên phải hay bên trái ko có dữ liệu thì trong keys có key null, làm sao để khắc phục vấn đề này nhỉ
Xin nhờ các thầy, các ace GPE giúp đỡ.

Thì thêm cái IF nữa!
Đoạn này:
Mã:
a = Rng.Value
If Not dic.exists(a) Then
  dic.Add a, ""
End If
Sửa thành:
Mã:
a = Rng.Value
If Len(a) Then
  If Not dic.exists(a) Then dic.Add a, ""
End If
 
Upvote 0
Đại khái là mình lọc đữ liệu theo ngày vào sheet temp sau đó dùng Scripting.Dictionary để lọc dữ liệu trùng, mục đích là lọc key để ra bảng báo cáo nhưng nếu như bên phải hay bên trái ko có dữ liệu thì trong keys có key null, làm sao để khắc phục vấn đề này nhỉ
Xin nhờ các thầy, các ace GPE giúp đỡ.

Thì bạn thêm điều kiện để loại bỏ ô trống đi, ví dụ trong code của bạn:
Mã:
    For Each Rng In r
        a = Rng.Value
[COLOR=#ff0000]        If Trim(a) <> "" Then[/COLOR]
            If Not dic.exists(a) Then
                dic.Add a, ""
            End If
[COLOR=#ff0000]        End If[/COLOR]
    Next
Dòng màu đỏ là mình mới thêm vào.

Ngoài ra, trong vòng lặp đó bạn nên đưa dữ liệu vào mảng để gán xuống bảng tính, hạn chế dùng Transpose nếu dữ liệu nhiều.
 
Upvote 0
Web KT

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

Back
Top Bottom