Xin giúp đỡ gộp giá trị trùng từ nhiều sheet khác nhau

Liên hệ QC

buonphatchan12

Thành viên mới
Tham gia
21/10/20
Bài viết
35
Được thích
1
Em có 1 file excel có 3 sheet. Sheet 1 và sheet 2 là 2 sheet chứa dữ liệu, có những mã hàng trùng và không trùng nhau. Hiện tại em muốn kết quả gom những mã không trùng nhau và gán vào sheet 3. Em làm code dùng dictionary chạy từ sheet 1 rồi đến sheet 2 và cho kết quả sang sheet 3. Nhưng hiện tại không ra kết quả mong muốn. Mọi người giúp đỡ em vấn đề này với ạ. Em cảm ơn
Bài đã được tự động gộp:

Em có 1 file excel có 3 sheet. Sheet 1 và sheet 2 là 2 sheet chứa dữ liệu, có những mã hàng trùng và không trùng nhau. Hiện tại em muốn kết quả gom những mã không trùng nhau và gán vào sheet 3. Em làm code dùng dictionary chạy từ sheet 1 rồi đến sheet 2 và cho kết quả sang sheet 3. Nhưng hiện tại không ra kết quả mong muốn. Mọi người giúp đỡ em vấn đề này với ạ. Em cảm ơn
Em làm được rồi ạ. Không biết khóa chủ đề này lại như nào ạ. Em là thành viên mới nên cũng chưa biết. Mong admin xóa hoặc khóa chủ đề này giúp em!
 

File đính kèm

  • test.xlsx
    51.5 KB · Đọc: 14
Lần chỉnh sửa cuối:
Em có 1 file excel có 3 sheet. Sheet 1 và sheet 2 là 2 sheet chứa dữ liệu, có những mã hàng trùng và không trùng nhau. Hiện tại em muốn kết quả gom những mã không trùng nhau và gán vào sheet 3. Em làm code dùng dictionary chạy từ sheet 1 rồi đến sheet 2 và cho kết quả sang sheet 3. Nhưng hiện tại không ra kết quả mong muốn. Mọi người giúp đỡ em vấn đề này với ạ. Em cảm ơn
Bài đã được tự động gộp:


Em làm được rồi ạ. Không biết khóa chủ đề này lại như nào ạ. Em là thành viên mới nên cũng chưa biết. Mong admin xóa hoặc khóa chủ đề này giúp em!
OT làm xong thì thấy Bạn cũng đã làm được vậy Bạn tham khảo thêm nhé:
Mã:
Option Explicit
Function LastRow(ByRef sheet As Worksheet, ByVal s As String) As Long
        LastRow = sheet.Cells(sheet.Rows.Count, s).End(xlUp).Row
End Function

Sub loc_trung()

    Dim aMahang(), Res(), i As Long, r As Long, k As Long, lr As Long
    Dim dic As Scripting.Dictionary, skey As String
    Set dic = New Scripting.Dictionary
    lr = LastRow(Sheet1, "A")
    lr = lr + LastRow(Sheet2, "A")
    ReDim Res(1 To lr, 1 To 1)
    aMahang = Sheet1.Range("A1").CurrentRegion.Value2
    r = UBound(aMahang, 1): k = 0
    For i = 1 To r
        skey = aMahang(i, 1)
        If Not IsEmpty(skey) Then
            If Not dic.Exists(skey) Then
                k = k + 1
                dic.Add skey, k
                Res(k, 1) = skey
            End If
        End If
    Next i
    aMahang = Sheet2.Range("A1").CurrentRegion.Value2
    r = UBound(aMahang, 1)
    For i = 1 To r
        skey = aMahang(i, 1)
        If Not IsEmpty(skey) Then
            If Not dic.Exists(skey) Then
                k = k + 1
                dic.Add skey, k
                Res(k, 1) = skey
            End If
        End If
    Next i
    
    Sheet3.Range("A1").Resize(lr).ClearContents
    Sheet3.Range("A1").Resize(k).Value = Res
    
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom