Van Tuyen Do
Thành viên mới

- Tham gia
- 11/3/20
- Bài viết
- 30
- Được thích
- 1
Chỉ đơn giản là "lấy râu ông nọ chắp cằm bà kia" vào cái sheet tổng. Rồi pivot tableAnh/Chị hướng dẫn giúp cách cộng dữ liệu text 2 sheet riêng biệt và bỏ trùng để tạo ra 1 danh sách dữ liệu mới với ạ. File excel e đính kèm ạ. Em cảm ơn ạ
Nghĩa là sao vậy bạn ơi?cộng dữ liệu text 2 sheet riêng biệt và bỏ trùng để tạo ra 1 danh sách dữ liệu mới
Mong muốn là không cần có thao tác thủ công nào anh ạChỉ đơn giản là "lấy râu ông nọ chắp cằm bà kia" vào cái sheet tổng. Rồi pivot table
Mong muốn của em là khi có dữ liệu cột A sheet 1 và dữ liệu cột A sheet 2 thì tại cột E sheet 2 sẽ tự động cộng dữ liệu 2 cột A kia và bỏ trùng tạo thành 1 danh sách mới ạNghĩa là sao vậy bạn ơi?
Làm thủ công chỉ khoảng <5 phút, cũng nên vận động tí chứ nhỉMong muốn là không cần có thao tác thủ công nào anh ạ
À không phải em lười đâu mà bình thường đằng sau nó còn 1 hệ thống data khác nên e cố gắng tìm cách tối ưu hóa ạLàm thủ công chỉ khoảng <5 phút, cũng nên vận động tí chứ nhỉ
Mong muốn là không cần có thao tác thủ công nào anh ạ
Bài đã được tự động gộp:
Mong muốn của em là khi có dữ liệu cột A sheet 1 và dữ liệu cột A sheet 2 thì tại cột E sheet 2 sẽ tự động cộng dữ liệu 2 cột A kia và bỏ trùng tạo thành 1 danh sách mới ạ
Trùng anh ạ. Trùng nhiều là đằng khác ạ. E muốn tạo ra 1 danh sách mới bỏ trùng ạDữ liệu sheet 1 là duy nhất hay có thể trùng?
.
Cho xem cái kết quả ở cột E nó ra thế nào bạn.Anh/Chị hướng dẫn giúp cách cộng dữ liệu text 2 sheet riêng biệt và bỏ trùng để tạo ra 1 danh sách dữ liệu mới với ạ. File excel e đính kèm ạ. Em cảm ơn ạ
Mình nghĩ cần có hai bước ấy.Trùng anh ạ. Trùng nhiều là đằng khác ạ. E muốn tạo ra 1 danh sách mới bỏ trùng ạ
Tạo sheet "Tong" (không dấu) để lưu dữ liệu tổng hợp.À không phải em lười đâu mà bình thường đằng sau nó còn 1 hệ thống data khác nên e cố gắng tìm cách tối ưu hóa ạ![]()
Sub TotalUnique()
With CreateObject("ADODB.Connection")
.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=""Excel 12.0;HDR=NO"";Data Source=" & ThisWorkbook.FullName)
Sheets("Tong").Range("A2").CopyFromRecordset .Execute("Select F1, Sum(F2) from (Select F1,F2 from [1$A2:B] Union All Select F1,F2 from [2$A2:B]) Group by F1 order by F1")
End With
End Sub
E xin gửi KQ cột E ạCho xem cái kết quả ở cột E nó ra thế nào bạn.
Nếu em chỉ cần cho cột mã mà không cần tính tổng thì e chỉ cần bỏ đoạn ... Sum(F2).. đi phải không anh?Tạo sheet "Tong" (không dấu) để lưu dữ liệu tổng hợp.
Chạy code sau:
Mã:Sub TotalUnique() With CreateObject("ADODB.Connection") .Open ("Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=""Excel 12.0;HDR=NO"";Data Source=" & ThisWorkbook.FullName) Sheets("Tong").Range("A2").CopyFromRecordset .Execute("Select F1, Sum(F2) from (Select F1,F2 from [1$A2:B] Union All Select F1,F2 from [2$A2:B]) Group by F1 order by F1") End With End Sub
Bạn chạy thử code sau nhé:E xin gửi KQ cột E ạ
Sub GopDL_HLMT()
Dim strSQL As String
strSQL = "Select [Mã] From [1$] " & _
"Union All Select [Mã] From [2$]"
With CreateObject("ADODB.Recordset")
.Open ("Select Distinct [Mã] From (" & strSQL & ") Where [Mã] Is Not Null"), "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 12.0 Xml;"
Sheet2.Range("F2").CopyFromRecordset .DataSource
End With
End Sub
Dạ Em cảm ơn anh ạBạn chạy thử code sau nhé:
Mã:Sub GopDL_HLMT() Dim strSQL As String strSQL = "Select [Mã] From [1$] " & _ "Union All Select [Mã] From [2$]" With CreateObject("ADODB.Recordset") .Open ("Select Distinct [Mã] From (" & strSQL & ") Where [Mã] Is Not Null"), "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 12.0 Xml;" Sheet2.Range("F2").CopyFromRecordset .DataSource End With End Sub