Gộp nhiều file excel, có nhiều sheet cùng cấu trúc vào 01 file mới

misibi

Thành viên mới
Tham gia ngày
18 Tháng ba 2015
Bài viết
37
Điểm
165
E chào các bác!
Các bác có add-in hoặc có cách nào gộp nhiều file excel, có nhiều sheet có cùng cấu trúc vào 1 file mới. Hướng dẫn giúp em.
Em xin cám ơn!
 

quanghai1969

Thành viên gạo cội
Tham gia ngày
21 Tháng hai 2009
Bài viết
5,578
Điểm
860
E chào các bác!
Các bác có add-in hoặc có cách nào gộp nhiều file excel, có nhiều sheet có cùng cấu trúc vào 1 file mới. Hướng dẫn giúp em.
Em xin cám ơn!
Chia sẻ cho bạn và những ai cần. Chương trình không phải của mình. Chỉ nhớ là đã tải từ GPE lâu lắm rồi
 

File đính kèm

misibi

Thành viên mới
Tham gia ngày
18 Tháng ba 2015
Bài viết
37
Điểm
165
Chia sẻ cho bạn và những ai cần. Chương trình không phải của mình. Chỉ nhớ là đã tải từ GPE lâu lắm rồi
Anh ơi, file này không mở được excel có đuôi xlsx, anh có thể sửa lại giúp em với. Em xin cám ơn!
Bài đã được tự động gộp:

File đâu mà hướng dẫn.
Em gửi anh file mẫu. Em xin cám ơn!
 

File đính kèm

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

snow25

Thành viên tích cực
Tham gia ngày
24 Tháng bảy 2018
Bài viết
1,412
Điểm
210
Anh ơi, file này không mở được excel có đuôi xlsx, anh có thể sửa lại giúp em với. Em xin cám ơn!
Bài đã được tự động gộp:


Em gửi anh file mẫu. Em xin cám ơn!
Bạn muốn kết quả như thế nào phải nói mới biết được chứ.
 

snow25

Thành viên tích cực
Tham gia ngày
24 Tháng bảy 2018
Bài viết
1,412
Điểm
210
Dạ em muốn gom tất cả các file có nhiều nhiều sheet, tổng hợp lại thành 1 file vào 1 sheet có đầy đủ dữ liệu của các fiel kia.
Sao không tổng hợp vào 1 sheets tổng mà lại tổng hợp ra 1 file khác vậy.
Mã:
Sub tonghop()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim tong, wb As Workbook, lr As Long, lr1 As Long, sh As Worksheet
    Set tong = Worksheets.Add
        tong.Name = "Tong hop"
           Sheet1.Range("A1:BI1").Copy tong.Range("A1")
           For Each sh In ThisWorkbook.Worksheets
               If sh.Name <> "Tong hop" Then
                  lr = sh.Range("A" & Rows.Count).End(xlUp).Row
                  If lr > 1 Then
                     lr1 = tong.Range("A" & Rows.Count).End(xlUp).Row
                     sh.Range("A2:bi" & lr).Copy tong.Range("A" & lr1 + 1)
                  End If
               End If
          Next
      tong.Copy
      tong.Delete
   Application.ScreenUpdating = True
   Application.DisplayAlerts = True
End Sub
 

File đính kèm

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

misibi

Thành viên mới
Tham gia ngày
18 Tháng ba 2015
Bài viết
37
Điểm
165
Sao không tổng hợp vào 1 sheets tổng mà lại tổng hợp ra 1 file khác vậy.
Dạ tại có nhiều file có nhiều anh ơi. Phần mềm bên em xuất ra nhiều file có nhiều sheet có cùng cấu trúc. Nhưng vì lý do quản lý em muốn gom tất cả các file và các sheet vào 1 file và 1 sheet mới ạ. Anh giúp em nhé, em xin cám ơn!
 

snow25

Thành viên tích cực
Tham gia ngày
24 Tháng bảy 2018
Bài viết
1,412
Điểm
210
Dạ em cám ơn bác rất nhiều!
Bạn xem code nhé.
Mã:
Sub tonghop()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim tong, wb As Workbook, lr As Long, lr1 As Long, sh As Worksheet, arr, k
    Set tong = ThisWorkbook.Worksheets("Tong hop")
        lr1 = tong.Range("A" & Rows.Count).End(xlUp).Row
        If lr > 1 Then tong.Range("A2:Bi" & lr1).ClearContents
       With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = True
             .Show
        For Each k In .SelectedItems
            Set wb = Workbooks.Open(k)
                 For Each sh In wb.Worksheets
                     lr = sh.Range("A" & Rows.Count).End(xlUp).Row
                     If lr > 1 Then
                        lr1 = tong.Range("A" & Rows.Count).End(xlUp).Row + 1
                        sh.Range("A2:Bi" & lr).Copy tong.Range("A" & lr1)
                     End If
                Next
              wb.Close False
        Next
     End With
   Application.ScreenUpdating = True
   Application.DisplayAlerts = True
End Sub
 

File đính kèm

Top