Đối Soát dữ liệu đổi công thức sang code vba

Liên hệ QC

NhutGG

Thành viên mới
Tham gia
29/5/22
Bài viết
3
Được thích
0
Chào anh em GPE,
Nhờ anh em hỗ trợ mình đổi công thức có sẳn sang dạng code
vì phần đối soát của mình có nhiều dữ liệu Từ 20000 đến hơn mỏi lần kéo Công thức xuống lâu với lag lắm với lại dữ liệu nặng thêm ae giúp mình viết nó dưới dạng code với
công thức :=IF(ISNA(VLOOKUP(A2,'DS2'!$A$2:$A$5,1,0)),"DS2 THIẾU","ĐỦ")
mình có file mẫu ae hỗ trợ giúp mình mới
thanks ae ,chúc anh em buổi tối vui vẻ !!!!!!!
 

File đính kèm

  • DOISOAT_DULIEU.xlsx
    9.4 KB · Đọc: 6
Lần chỉnh sửa cuối:
Chào anh em GPE,
Nhờ anh em hỗ trợ mình đổi công thức có sẳn sang dạng code
vì phần đối soát của mình có nhiều dữ liệu Từ 20000 đến hơn mỏi lần kéo Công thức xuống lâu với lag lắm với lại dữ liệu nặng thêm ae giúp mình viết nó dưới dạng code với
công thức :=IF(ISNA(VLOOKUP(A2,'DS2'!$A$2:$A$5,1,0)),"DS2 THIẾU","ĐỦ")
mình có file mẫu ae hỗ trợ giúp mình mới
thanks ae ,chúc anh em buổi tối vui vẻ !!!!!!!

Bạn đã biết dùng vòng lặp và Dictionary chưa? Bạn có thể tham khảo thêm tại đây:


.
 
Upvote 0
mình có file mẫu ae hỗ trợ giúp mình mới
thanks ae ,chúc anh em buổi tối vui vẻ !!!!!!!
ae muốn nhờ thì ae gửi file lên chứ, chứ ae không gửi file lên thì ae biết đường đâu mà làm
Cái này ae dùng FIND method là đủ, không cần đến mò "thư viện" đâu
Good luck ae
 
Upvote 0
Chào anh em GPE,
Nhờ anh em hỗ trợ mình đổi công thức có sẳn sang dạng code
vì phần đối soát của mình có nhiều dữ liệu Từ 20000 đến hơn mỏi lần kéo Công thức xuống lâu với lag lắm với lại dữ liệu nặng thêm ae giúp mình viết nó dưới dạng code với
công thức :=IF(ISNA(VLOOKUP(A2,'DS2'!$A$2:$A$5,1,0)),"DS2 THIẾU","ĐỦ")
mình có file mẫu ae hỗ trợ giúp mình mới
thanks ae ,chúc anh em buổi tối vui vẻ !!!!!!!
Quy định của diễn đàn là không được viết tắt và chêm từ ngữ nước ngoài . Bạn sửa lại những từ viết tắt và những tiếng nước ngoài thì chắc là sẽ có người giúp.
 
Upvote 0
Xài đỡ cái này:
PHP:
Option Explicit
Sub doichieu()
Dim lr1&, i&, lr2&, rng1, rng2, f
With Worksheets("DS1")
    lr1 = .Cells(Rows.Count, "A").End(xlUp).Row
    rng1 = .Range("A2:B" & lr1).Value
End With
With Worksheets("DS2")
    lr2 = .Cells(Rows.Count, "A").End(xlUp).Row
    rng2 = .Range("A2:B" & lr2).Value
    For i = 1 To lr1 - 1
        Set f = .Range("A2:A" & lr2).Find(what:=rng1(i, 1))
        If f Is Nothing Then
            rng1(i, 2) = "DS2 thieu"
        Else
            rng1(i, 2) = "Du"
        End If
    Next
End With
With Worksheets("DS1")
    For i = 1 To lr2 - 1
        Set f = .Range("A2:A" & lr1).Find(what:=rng2(i, 1))
        If f Is Nothing Then
            rng2(i, 2) = "DS1 thieu"
        Else
            rng2(i, 2) = "Du"
        End If
    Next
End With
Worksheets("DS1").Range("A2").Resize(lr1 - 1, 2) = rng1
Worksheets("DS2").Range("A2").Resize(lr2 - 1, 2) = rng2
End Sub
 
Upvote 0
Xài đỡ cái này:
PHP:
Option Explicit
Sub doichieu()
Dim lr1&, i&, lr2&, rng1, rng2, f
With Worksheets("DS1")
    lr1 = .Cells(Rows.Count, "A").End(xlUp).Row
    rng1 = .Range("A2:B" & lr1).Value
End With
With Worksheets("DS2")
    lr2 = .Cells(Rows.Count, "A").End(xlUp).Row
    rng2 = .Range("A2:B" & lr2).Value
    For i = 1 To lr1 - 1
        Set f = .Range("A2:A" & lr2).Find(what:=rng1(i, 1))
        If f Is Nothing Then
            rng1(i, 2) = "DS2 thieu"
        Else
            rng1(i, 2) = "Du"
        End If
    Next
End With
With Worksheets("DS1")
    For i = 1 To lr2 - 1
        Set f = .Range("A2:A" & lr1).Find(what:=rng2(i, 1))
        If f Is Nothing Then
            rng2(i, 2) = "DS1 thieu"
        Else
            rng2(i, 2) = "Du"
        End If
    Next
End With
Worksheets("DS1").Range("A2").Resize(lr1 - 1, 2) = rng1
Worksheets("DS2").Range("A2").Resize(lr2 - 1, 2) = rng2
End Sub
Em Cám ơn sư huynh nhe !
 
Upvote 0
Upvote 0
Web KT

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

Back
Top Bottom