Tổng hợp dữ liệu từ nhiều sheet thành 1 sheet công nợ chi tiết (1 người xem)

Liên hệ QC

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

Anh cho em xin cái file hướng dẫn bằng file ảnh hướng dẫn (printscreen ) không ạ, em gửi lại trả lời cho anh có đoạn ảnh chắc đó là do máy em bị chặn các media nên em ko xem file clip được anh ạ. Ở công ty em bị chặn các file này ạ
 
Còn nếu như muốn dùng code thì sử dụng code sau:

[GPECODE=sql]Sub GopSheet_HLMT()
Dim cn As Object, rst As Object, cat As Object, tbl As Object, str$, str1 As String
Set cn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
Set tbl = CreateObject("ADOX.Table")
Set rst = CreateObject("ADODB.Recordset")
With cn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 8.0;HDR=No;"";"
.Open
End With
cat.ActiveConnection = cn
For Each tbl In cat.Tables
If Right(Replace(tbl.Name, "'", ""), 1) = "$" And tbl.Name <> "'Tong hop$'" Then
str = str & " union all select f1,f8,f9 from [" & _
Replace(Replace(Replace(tbl.Name, "$", ""), "'", ""), "#", ".") & "$A3:I200] "
str1 = Right(str, Len(str) - 10)
End If
Next
With rst
.ActiveConnection = cn
.Open "select f1,sum(f8),sum(f9) from (" & str1 & ") group by f1"
End With
With Sheets("Tong hop")
.[A2:IV65000].ClearContents
.[A2].CopyFromRecordset rst
End With
rst.Close: Set rst = Nothing
cn.Close: Set cn = Nothing
Set cat = Nothing: Set tbl = Nothing

End Sub

[/GPECODE]
 
Mn giúp em với, em mới tìm hiểu mà chỉ biết cách chạy code macro +-+-+-+
Em muốn tổng hợp tổng số hàng trong kho theo mã mặt hàng, số chúng từ theo từng mặt hàng.
Em xem qua mà không áp dụng code được, nhấn chạy thì bị lỗi color ...
Có bác nào giúp em với, trong code đó cần chỉnh sửa ntn để phù hợp vs file của em ạ.
Em cảm ơn
(@$%@(@$%@
 

File đính kèm

Mn giúp em với, em mới tìm hiểu mà chỉ biết cách chạy code macro +-+-+-+
Em muốn tổng hợp tổng số hàng trong kho theo mã mặt hàng, số chúng từ theo từng mặt hàng.
Em xem qua mà không áp dụng code được, nhấn chạy thì bị lỗi color ...
Có bác nào giúp em với, trong code đó cần chỉnh sửa ntn để phù hợp vs file của em ạ.
Em cảm ơn
(@$%@(@$%@
Chạy thử code sau:

[GPECODE=sql]Sub TongHop()
Dim cn As Object, rst As Object, cat As Object, tbl As Object, str$, str1 As String
Set cn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
Set tbl = CreateObject("ADOX.Table")
Set rst = CreateObject("ADODB.Recordset")
With cn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"";"
.Open
End With
cat.ActiveConnection = cn
For Each tbl In cat.Tables
If Right(Replace(tbl.Name, "'", ""), 1) = "$" And tbl.Name <> "PXK$" And tbl.Name <> "TONG$" Then
str = str & " union all select F1,F2,F3,F4,F5,F6,F7,F8,F9 from [" & _
Replace(Replace(tbl.Name, "$", ""), "'", "") & "$A15:I200] WHERE F7 IS NOT NULL "
str1 = Right(str, Len(str) - 10)
End If
Next
With rst
.ActiveConnection = cn
.Open "select F2,F3,F4,sum(F6),sum(F7),VAL(F8),sum(F9) from (" & str1 & ") group by F2,F3,F4,F8"
End With
With Sheets("TONG")
.[A3:G65000].ClearContents
.[A3].CopyFromRecordset rst
End With
rst.Close: Set rst = Nothing
cn.Close: Set cn = Nothing
Set cat = Nothing: Set tbl = Nothing
End Sub

[/GPECODE]
 

File đính kèm

Chạy thử code sau:

[GPECODE=sql]Sub TongHop()
Dim cn As Object, rst As Object, cat As Object, tbl As Object, str$, str1 As String
Set cn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
Set tbl = CreateObject("ADOX.Table")
Set rst = CreateObject("ADODB.Recordset")
With cn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"";"
.Open
End With
cat.ActiveConnection = cn
For Each tbl In cat.Tables
If Right(Replace(tbl.Name, "'", ""), 1) = "$" And tbl.Name <> "PXK$" And tbl.Name <> "TONG$" Then
str = str & " union all select F1,F2,F3,F4,F5,F6,F7,F8,F9 from [" & _
Replace(Replace(tbl.Name, "$", ""), "'", "") & "$A15:I200] WHERE F7 IS NOT NULL "
str1 = Right(str, Len(str) - 10)
End If
Next
With rst
.ActiveConnection = cn
.Open "select F2,F3,F4,sum(F6),sum(F7),VAL(F8),sum(F9) from (" & str1 & ") group by F2,F3,F4,F8"
End With
With Sheets("TONG")
.[A3:G65000].ClearContents
.[A3].CopyFromRecordset rst
End With
rst.Close: Set rst = Nothing
cn.Close: Set cn = Nothing
Set cat = Nothing: Set tbl = Nothing
End Sub

[/GPECODE]

Không được bác ợ, hiện ra bảng lỗi Run-time error 3706: Provider can not be found
 
Các bác xem hộ em bài này nên giải quyết thế nào a?, em đang cần gấp quá!
Em có một list các sheet khác nhau, (bao gồm các ngày trong tháng, từ 1 - 30, tương ứng từ sheet 1 đến sheet 30), trong mỗi sheet thì có số lượng khách hàng (có cả khác và giống nhau nữa),
em muốn từ các sheet nguồn đấy, tổng hợp ra một sheet tổng hợp, mà ở đó cũng có những cột như ở sheet nguồn, nhưng tại đây, được tổng hợp thành từng tên khách hàng, cuối mỗi khách hàng đó thì tính tổng tiền, số lượng hàng, sau đó lại đến tên khách hàng khác, lần lượt cho đến hết.
Em có up bài ví dụ lên, các bác xem thử giúp em với.
em mới học excel nên không biết bài này phải làm thế nào. Mong bác nào làm xong, hướng dẫn tận tình lại cho em với, (các bác để lại công thức cho em xem với, em xem nhiều bài trên GPX, thấy các bác chỉ đưa đáp số, mà chẳng thấy công thức đâu cả, em đành chịu, không hiểu bài làm thế nào ạ.
Bạn chỉ cần copy danh sách các ngày trong tháng rồi dán vào sheet tổng hợp rồi chọn data/sort/ chọn danh sách khách hàng từ "A" đến "Z" là đã tổng hợp được khách hàng rồi. Để lấy khối lượng và thành tiền thì bạn dùng hàm "if" lồng hàm "sumif" để lấy về.
 

File đính kèm

Web KT

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

Trả lời
42
Đọc
17K
Back
Top Bottom