Nhờ giúp kết hợp thành một tệp excel từ nhiều tệp ạ

Liên hệ QC

Nhatminh0208

Thành viên chính thức
Tham gia
13/5/21
Bài viết
50
Được thích
7
Em xin chào các Anh/Chị trong diễn đàn ạ. Em có 3 tệp excel, mỗi tệp có nhiều sheets. Em muốn nhờ các Anh/Chị giúp em gộp 3 sheets có tên "Daily schedule" thành 1 sheet mới với tệp mới ạ. Các dữ liệu sẽ nối tiếp nhau trong tệp mới, với điều kiện cột "Part no" có dữ liệu ạ, hoặc tất cả sheet có tên đó nối nhau cũng được và giữ nguyên định dạng như sheet nguồn. Em xin gửi 3 file cần gộp. Mong các Anh/Chị xem và giúp đỡ em ạ. Em xin cám ơn nhiều.
 

File đính kèm

  • daily schedule 05-10-2022-H.xlsx
    866.8 KB · Đọc: 8
  • daily schedule 05-10-2022-V.xlsx
    1.4 MB · Đọc: 5
  • daily schedule05-10-2022-C.xlsx
    873 KB · Đọc: 6
Em xin chào các Anh/Chị trong diễn đàn ạ. Em có 3 tệp excel, mỗi tệp có nhiều sheets. Em muốn nhờ các Anh/Chị giúp em gộp 3 sheets có tên "Daily schedule" thành 1 sheet mới với tệp mới ạ. Các dữ liệu sẽ nối tiếp nhau trong tệp mới, với điều kiện cột "Part no" có dữ liệu ạ, hoặc tất cả sheet có tên đó nối nhau cũng được và giữ nguyên định dạng như sheet nguồn. Em xin gửi 3 file cần gộp. Mong các Anh/Chị xem và giúp đỡ em ạ. Em xin cám ơn nhiều.
Bạn biết gì về VBA chưa.Nếu biết thì bạn chọn mở file bằng Workbook.open hay là dùng ADO.
 
Upvote 0
Bạn biết gì về VBA chưa.Nếu biết thì bạn chọn mở file bằng Workbook.open hay là dùng ADO.
Em cũng chỉ mò chứ không gọi là biết ạ. Em có tìm đoạn code của Anh nào đó trên diễn đàn GPE. Mà chưa biết sửa sao cho nó giống định dạng và file sau nối vào file trước.
Đây là đoạn code đó ạ

Sub Copy_Paste()
Dim cn As Object, rs As Object
Dim eRow&, includeList$, excludeList$, sql$
With Sheet1
eRow = .Range("A" & Rows.Count).End(xlUp).Row
If eRow > 2 Then .Range("A2:C" & eRow).Clear
End With
With Application.FileDialog(msoFileDialogFilePicker)
.Filters.Add "All Excel", "*.xls*"
.AllowMultiSelect = False
.Show
If .SelectedItems.Count < 1 Then MsgBox ("Ban khong chon file nao"): Exit Sub
If .SelectedItems.Count Then

On Error Resume Next
Set cn = CreateObject("adodb.connection")
cn.Open ("provider=Microsoft.ACE.OLEDB.12.0;data source=" & .SelectedItems(1) & ";mode=Read;extended properties=""Excel 12.0;hdr=no"";")
sql = "SELECT * FROM [Daily schedule$] WHERE f1 is not Null"
Set rs = cn.Execute(sql)
If Not rs.EOF Then Sheet1.Range("A2").CopyFromRecordset rs
rs.Close: cn.Close
Set rs = Nothing: Set cn = Nothing
On Error GoTo 0
End If
End With
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom