Có khi nhận hàng khuyến mãi không nhập kho, hàng trả về không xử lý... Khi xuất thì sẽ bị âm.Có cả không tồn không nhập mà xuất!
Em thử viết tạm bằng ADO, không loại bỏ hàng bị âm như sau:
SQL:
Sub LayDL()
Dim strSQL As String
strSQL = strSQL & "SELECT F2 AS Ten, " & vbCrLf
strSQL = strSQL & " F3 AS DVT, " & vbCrLf
strSQL = strSQL & " F5 AS SoLg " & vbCrLf
strSQL = strSQL & "FROM [LISTHANG$A5:E] " & vbCrLf
strSQL = strSQL & "UNION ALL " & vbCrLf
strSQL = strSQL & "SELECT F2 AS Ten, " & vbCrLf
strSQL = strSQL & " F3 AS DVT, " & vbCrLf
strSQL = strSQL & " F4 AS SoLg " & vbCrLf
strSQL = strSQL & "FROM [NHAPKHO$A3:E] " & vbCrLf
strSQL = strSQL & "UNION ALL " & vbCrLf
strSQL = strSQL & "SELECT F2 AS Ten, " & vbCrLf
strSQL = strSQL & " F3 AS DVT, " & vbCrLf
strSQL = strSQL & " -F4 AS SoLg " & vbCrLf
strSQL = strSQL & "FROM [XUATKHO$A3:E]"
With CreateObject("ADODB.Connection")
.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"""
Sheet5.Range("B5").CopyFromRecordset .Execute("Select Ten,DVT,Sum(SoLg) From(" & strSQL & ") Group By Ten,DVT")
End With
End Sub
Lần chỉnh sửa cuối: