Hỗ trợ gộp nhiều file excel vào 1 file (file có nhiều sheets,chỉ gộp 1 sheet chỉ định)

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Chào anh chị em có trường hợp này nhờ anh chị hỗ trợ giúp.
Vấn đề của em là em cần tổng hợp nhiều file Excel vào 1 file tổng.
Mỗi file excel của em thì có nhiều sheet, nhưng em chỉ muốn gộp sheet: TONG HOP THEO HĐ
Sheet: TONG HOP THEO HĐ thì lấy dữ liệu bắt đầu từ dòng 6 cho đến hết.
781780

Code tham khảo gộp nhiều file mỗi file chỉ có 1 sheet

Sub gop_file_excel()
    Dim FilesToOpen
    Dim wb As Workbook
    Dim x As Long, lr As Long

Application.ScreenUpdating = False

FilesToOpen = Application.GetOpenFilename( _
        FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx", MultiSelect:=True, _
        Title:="Chon file excel de tron")

If TypeName(FilesToOpen) = "Boolean" Then
        MsgBox "khong co file nao duoc chon ca"
        Exit Sub
    End If

x = 1
    While x <= UBound(FilesToOpen)
        Set wb = Workbooks.Open(Filename:=FilesToOpen(x))

If x = 1 Then
            wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1")
        Else
            lr = ThisWorkbook.Sheets(1).UsedRange.Rows.Count
            wb.Sheets(1).UsedRange.Offset(1).Copy ThisWorkbook.Sheets(1).Range("A" & lr + 1)
        End If
        wb.Close False
        x = x + 1
    Wend
    Application.ScreenUpdating = True
End Sub

Em có đọc nhiều cách gộp file bằng VBA nhưng đa số thì mỗi file có 1 sheet. Còn trường hợp này của em là mỗi file có nhiều sheet, và cần gộp sheet: TONG HOP THEO HĐ vào file tổng.
Do đây là dữ liệu nhạy cảm nên em không gửi file lên được, em làm bằng file giả định.
(À em quên, tất cả các file đều nằm trong một thư mục nhé anh chị, mà các file đó mỗi lần mở lên hay gặp lỗi update như hình)
Nhờ anh chị hỗ trợ giúp em trường hợp này.
Em cảm ơn anh chị

Bạn thử tham khảo nhé.

Dạ em sẽ lưu ý vấn đề tiếng Việt này, nhưng cho em hỏi thêm.

Đối với 1 file bình thường thì code tổng hợp dữ liệu vào file Tổng hợp rất tốt anh.

Nhưng do file của mọi người gửi đến em, khi mở lên đều có thông báo như hình em gửi.
Câu thông báo đó là:
This workbook contains links to one or more external sources that could be unsafe
và file sẽ bắt chọn là: Update hay là Don't Update

Hậu quả là: khi em tổng hợp 10 file thì phải bấm "Don't Update" 10 lần, nếu tổng hợp 100 file thì phải bấm "Don't Update" 100 lần.

Vậy thì cho em hỏi, có cách nào tắt cái don't Update này trong Code luôn không anh, thêm vào 1 câu lệnh trong vòng lặp tắt thông báo đó chẳng hạn ?
Em thử Record macro rồi, nhưng do thông báo này chỉ xuất hiện lúc mới mở file lên. Nên em không Record được.

Mình cũng chưa tìm được cách nào, hy vọng có bạn nào đó biết thì chia sẻ.
Thủ công thì thế này:
Mở file Excel bất kỳ.
Bạn vào File > Options > Advanced > General > bỏ chọn Ask to update automatic links > bấm Ok là sẽ không xuất hiện thông báo khi chạy code nữa

www.giaiphapexcel.com/diendan/threads/h%E1%BB%97-tr%E1%BB%A3-g%E1%BB%99p-nhi%E1%BB%81u-file-excel-v%C3%A0o-1-file-file-c%C3%B3-nhi%E1%BB%81u-sheets-ch%E1%BB%89-g%E1%BB%99p-1-sheet-ch%E1%BB%89-%C4%91%E1%BB%8Bnh.163535/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 2 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm