Mã:
Sub banhang()
Dim arr, arr1, arr2, lr As Long, a As Long, i As Long, j As Integer, dic As Object, dk As String, b As Long
Set dic = CreateObject("scripting.dictionary")
With Sheets("Ban hang")
lr = .Range("A" & Rows.Count).End(xlUp).Row
If lr < 2 Then Exit Sub
arr2 = .Range("A2:C" & lr).Value
End With
With Sheets("Data ban hang")
lr = .Range("A2:" & "A" & Rows.Count).End(xlDown).Row
arr = .Range("A2:C" & lr).Value
ReDim arr1(1 To UBound(arr2, 1), 1 To 3)
For i = 1 To UBound(arr, 1)
dic.Item(arr(i, 1)) = i
Next i
For i = 1 To UBound(arr2, 1)
If arr2(i, 1) <> "" Then
b = dic.Item(arr2(i, 1))
If b Then
For j = 2 To 3
arr(b, j) = arr2(i, j)
Next j
Else
a = a + 1
For j = 1 To 3
arr1(a, j) = arr2(i, j)
Next j
End If
End If
Next i
.Range("A2:C" & lr).Value = arr
If a Then .Range("A" & lr + 1).Resize(a, 3).Value = arr1
End With
End Sub
Cụ thể code trên là copy từ A3:C của sheet "Ban hang". Dựa vào ô của cột A của "Data ban hang" để thêm mới hoặc đè lên dữ liệu
Giờ mình mong muốn là có cột số lượng (ví dụ cột B) thì mình cộng dồn dựa vào ô của cột A của "Data bán hang" còn lại là đè lên ạ
Ví dụ cho dễ hình dung : Mình có 3 cột là : MÃ - SỐ LƯỢNG - TIỀN
Giờ mình nhập mã bên sheet "Ban hang" xong chuyển qua sheet "Data ban hang". Nếu cùng MÃ thì cộng số lượng còn khác mã thì thêm mới
Thanks mọi người và chúc tất cả khỏe mạnh để cùng nhau vượt qua đại dịch