Ba Tê
Cạo Rồi Khỏi Gội
- Tham gia
- 5/5/09
- Bài viết
- 12,124
- Được thích
- 17,588
- Giới tính
- Nam
1. Bạn khai báo thiếu dk, ItemsMình khắc phục lỗi trên như sau, nhờ các bác coi dùm
Mã:Sub khong_trung() On Error Resume Next Dim dic1 As Object, i As Long, j As Long, arr(), FindNumber As Long, a As Long Dim Memo(100) As Variant, FindOutArray As Variant Set dic1 = CreateObject("scripting.dictionary") dk = Range([A1], [A65536].End(3)).Value Range([B1], [B65536].End(3)).ClearContents a = 1 With dic1 For i = 1 To UBound(dk) FindOutArray = Filter(SourceArray:=Memo, Match:=dk(i, 1), Include:=True, Compare:=vbBinaryCompare) FindNumber = UBound(FindOutArray) If dk(i, 1) <> "" Then If .exists(dk(i, 1)) Then .Remove dk(i, 1) Memo(a) = dk(i, 1) a = a + 1 Else If FindNumber = -1 Then .Add dk(i, 1), dk(i, 1) End If End If End If Next ReDim arr(1 To .Count, 1 To 1) Items = .Items For j = 1 To .Count arr(j, 1) = Items(j - 1) Next [B1].Resize(.Count, 1) = arr End With End Sub
2. Khi cột A không có dữ liệu hoặc chỉ có dữ liệu 1 ô A1 thì bị lỗi