cách Tổng hợp vật tư bằng excel? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

danhnt58

Thành viên mới
Tham gia
20/3/10
Bài viết
15
Được thích
0
Nghề nghiệp
ky su thuy dien
E tìm hiểu trên mạng nhưng chưa áp dụng được. e đưa ra file cụ thể nhờ a chị hướng dẫn chi tiết.
Xin hỏi anh chị e diễn đàn về cách tổng hợp vật tư từ sheet 1 và sheet 2(file đính kèm)

  1. Lấy danh sách vật tư từ sheet 1 và sheet 2 sao cho mỗi vật tư chỉ xuất hiện 1 lần và không bị trùng.
  2. Lấy đơn vị, giá HT tương ứng với vật tư
  3. Tính tổng khối lượng của từng vạt tư
 

File đính kèm

Có nhiều loại vật tư có giá khác nhau nhưng cùng 1 mã vật tư là sao vậy bạn? Ví dụ mã 0062: Đá 4*6, có 2 giá 295.000 và 305.000...

Tôi viết đại, trúng ý thì dùng, còn không thì bạn tự điều chỉnh lại dữ liệu cho hợp lý nhé:

[GPECODE=sql]Sub LayDL()
Dim cn As Object, rst As Object
Dim mySQL As String
Set cn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
.Open
End With
mySQL = "SELECT F1,F2,F3,F5, SUM(F4),SUM(F6) FROM (" & _
"SELECT F1,F2,F3,F5,F4,ROUND(F4*F5,0) AS F6 FROM [Sheet1$B2:F100] WHERE F1 IS NOT NULL " & _
"UNION ALL " & _
"SELECT F1,F2,F3,F5,F4,ROUND(F4*F5,0) AS F6 FROM [Sheet2$B2:F100] WHERE F1 IS NOT NULL) " & _
"GROUP BY F1,F2,F3,F5"
Set rst = cn.Execute(mySQL)
With Sheet3
[A2:F1000].ClearContents
[A2].CopyFromRecordset rst
End With
rst.Close: cn.Close
Set rst = Nothing: Set cn = Nothing
End Sub[/GPECODE]
 

File đính kèm

Upvote 0
giá vật tư là giống nhau (file tôi gửi quên chưa chỉnh chỗ đá 4x6 ấy...), có cách nào không phải dùng VBA koạ
 
Upvote 0
Bạn thử xem ý 1 của bạn có phải như thế này không? nếu đúng ta làm tiếp các ý còn lại. Cách này dùng hàm không dùng VBA, nhưng nếu không dùng VBA thì có lẽ sai box...
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom