Làm cách nào để kết hợp nhiều tệp excel thành một excel?

Tôi nhận được cuộc gọi từ một người bạn muốn kết hợp nhiều tệp Excel vào một sổ làm việc Excel. Anh ấy có rất nhiều tệp trong một thư mục và anh ấy muốn đưa tất cả các trang tính từ tất cả các sổ làm việc vào một sổ làm việc duy nhất

Mặc dù điều này có thể được thực hiện thủ công nhưng sẽ tốn thời gian và dễ bị lỗi

Tuy nhiên, một mã VBA đơn giản có thể thực hiện việc này trong vài giây

Combine Multiple Workbooks into One Excel Workbook - Image Orange

Kết hợp nhiều tệp Excel thành một tệp

Đây là mã có thể kết hợp nhiều sổ làm việc Excel trong một thư mục được chỉ định thành một sổ làm việc Excel duy nhất

Sub ConslidateWorkbooks()
'Created by Sumit Bansal from https://trumpexcel.com
Dim FolderPath As String
Dim Filename As String
Dim Sheet As Worksheet
Application.ScreenUpdating = False
FolderPath = Environ("userprofile") & "DesktopTest"
Filename = Dir(FolderPath & "*.xls*")
Do While Filename <> ""
 Workbooks.Open Filename:=FolderPath & Filename, ReadOnly:=True
 For Each Sheet In ActiveWorkbook.Sheets
 Sheet.Copy After:=ThisWorkbook.Sheets(1)
 Next Sheet
 Workbooks(Filename).Close
 Filename = Dir()
Loop
Application.ScreenUpdating = True
End Sub

Làm thế nào để sử dụng mã này?

Dưới đây là các bước để sử dụng mã này

  • Đặt tất cả các tệp Excel mà bạn muốn kết hợp vào một thư mục. Với mục đích của hướng dẫn này, tôi đã tạo một thư mục có tên Kiểm tra và có sáu tệp trong đó (4 sổ làm việc Excel và 1 Power Point và Word mỗi cái)Combine Multiple Workbooks into One Excel Workbook - test Folder
  • Mở một sổ làm việc Excel mới
  • Nhấn ALT + F11 (hoặc vào Nhà phát triển -> Mã -> Visual Basic). Thao tác này sẽ mở Trình soạn thảo Visual Basic
  • Trong VB Editor, trong Project Editor, nhấp chuột phải vào bất kỳ đối tượng nào của sổ làm việc và đi tới Chèn -> Mô-đun. Thao tác này sẽ chèn một mô-đun cho sổ làm việcCombine Multiple Excel files into One Excel Workbook - insert module
  • Nhấp đúp chuột vào mô-đun. Nó sẽ mở cửa sổ mã bên phải
  • Sao chép và dán đoạn mã trên vào cửa sổ mãCombine Multiple Excel files into One Excel Workbook - code
  • Trong mã, bạn cần thay đổi dòng mã sau.
    FolderPath = Environ("userprofile") & "DesktopTest"

    Trong dòng này, thay đổi phần trong dấu ngoặc kép (được đánh dấu bằng màu cam) bằng vị trí của thư mục mà bạn có các tệp mà bạn muốn kết hợp. Trong mã được sử dụng ở trên, thư mục nằm trên Màn hình nền. Trong trường hợp bạn có nó ở một số vị trí khác, hãy chỉ định đường dẫn đó tại đây

  • Đặt con trỏ ở bất kỳ đâu trong mã và nhấp vào nút phát màu xanh lục trong tùy chọn Thanh công cụ (hoặc nhấn phím F5)Combine Multiple Workbooks into One Excel Workbook - run code

Điều này sẽ chạy mã và tất cả các trang tính từ tất cả các tệp Excel trong thư mục sẽ được hợp nhất thành một sổ làm việc

Combine Multiple Excel files into One Excel Workbook - demo

Mã này hoạt động như thế nào?

  • Mã này sử dụng hàm DIR để lấy tên tệp từ thư mục đã chỉ định
  • Dòng sau gán tên tệp excel đầu tiên cho biến ‘Tên tệp’.
    Tên tệp = Dir(FolderPath & “*. xls*”)
  • Sau đó, vòng lặp Do While được sử dụng để kiểm tra xem tất cả các tệp đã được bao phủ chưa
  • Trong vòng lặp 'Do While', vòng lặp 'For Each' được sử dụng để sao chép tất cả các trang tính vào sổ làm việc mà chúng ta đang chạy mã trong đó
  • Ở cuối Vòng lặp Do, dòng mã sau được sử dụng. Tên tệp = Dir(). Nó gán tên tệp Excel tiếp theo cho biến Tên tệp và vòng lặp bắt đầu lại.
  • Khi tất cả các tệp được bao phủ, hàm DIR trả về một chuỗi rỗng, đó là khi vòng lặp kết thúc

Dưới đây là phần giải thích về hàm DIR trong thư viện MSDN

Dir trả về tên tệp đầu tiên khớp với tên đường dẫn. Để nhận bất kỳ tên tệp bổ sung nào khớp với tên đường dẫn, hãy gọi lại Dir mà không có đối số. Khi không còn tên tệp nào khớp, Dir trả về một chuỗi có độ dài bằng 0 (“”)

Bạn đã bao giờ thử một cái gì đó thuộc loại này bằng VBA chưa?

Tiết kiệm lượng thời gian đáng kinh ngạc khi sử dụng VBA. Tham khảo KHÓA HỌC VBA Excel

Bạn cũng có thể thích các Hướng dẫn Excel sau

  • Cách kết hợp dữ liệu từ nhiều sổ làm việc vào một bảng Excel (sử dụng Power Query)
  • Tạo nhanh trang tính tóm tắt với siêu liên kết trong Excel
  • Cách tạo và sử dụng bổ trợ Excel
  • Cách chạy Macro
  • 20 ví dụ về macro Excel hữu ích

Excel Ebook Subscribe

SÁCH EXCEL MIỄN PHÍ

Nhận Ebook 51 mẹo Excel để tăng năng suất và hoàn thành công việc nhanh hơn

Tên

E-mail

CÓ - GỬI SÁCH ĐIỆN TỬ CHO TÔI

98 suy nghĩ về “Cách kết hợp nhiều tệp Excel vào một sổ làm việc Excel”

  1. Giacôbê

    Tháng Chín 2020 lúc 4. 30 giờ chiều

    cảm ơn rực rỡ

  2. Lee Warren

    Tháng Chín 2020 lúc 10. 42 giờ chiều

    Rất khó chịu - đơn giản là không thể làm cho thứ chết tiệt đó hoạt động được…

    • Giacôbê

      Tháng Chín 2020 lúc 4. 31 giờ tối

      Mình cũng bị lỗi này nhưng sửa như sau

      1. Lưu tài liệu dưới dạng. xlxm
      2. Đảm bảo bạn có dấu “/” ở cuối đường dẫn thư mục

      • Giacôbê

        Tháng Chín 2020 lúc 4. 31 giờ tối

        lấy làm tiếc. xlsm

  3. cướp

    Tháng Bảy 2020 lúc 10. 19 giờ tối

    Mã này hoạt động nhưng chuỗi đường dẫn tệp yêu cầu tất cả dấu “” trong đường dẫn tệp đầy đủ. Ví dụ. C. UsersUser1DesktopExcelfiles*. xls*. Cách tốt nhất để giải quyết điều này là

    Khi bạn sửa đổi FolderPath = Environ(“userprofile”) & “DesktopTest”, hãy đảm bảo rằng bạn bao gồm dấu gạch chéo trước và sau dấu gạch chéo “” vào đường dẫn thư mục chứa trang tính excel sẽ được nhập

    Khi bạn đang gỡ lỗi, hãy nhấp chuột phải vào biến Đường dẫn thư mục và Tên tệp và đặt chúng vào Danh sách theo dõi với hộp kiểm Ngắt khi giá trị thay đổi được chọn. Khi bạn chạy chương trình, bạn có thể xác minh hai biến đó đang cập nhật chính xác

  4. DM

    Tháng Sáu 2020 lúc 7. 15 giờ chiều

    Cảm ơn rất nhiều, làm việc hoàn hảo

  5. Siva

    Tháng Sáu 2020 lúc 1. 53 giờ chiều

    Không hoạt động, Nó đang hiển thị gỡ lỗi tại Tên tệp = Dir(FolderPath & “*. xlsx*”).
    Bạn có thể vui lòng cung cấp cách khắc phục không

  6. William

    Tháng Năm 2020 lúc 12. 43 giờ sáng

    Để mã này hoạt động, một số bạn có thể sẽ cần nhiều hơn đường dẫn tệp được đề xuất của

    FolderPath = Environ(“userprofile”) & “DesktopTest”

    Environ(“userprofile”) sẽ chỉ cung cấp phần đầu tiên của đường dẫn tệp. Trong trường hợp của tôi đó là. C. Người dùngWF. Có một số thư mục con “dọc theo đường dẫn” trước khi đến thư mục tôi đã sử dụng để kết hợp các tệp. Sử dụng ví dụ này làm đường dẫn đến đúng thư mục

    đường dẫn thư mục = “C. UsersWFDocumentsFolder1Folder2Folder3FolderWithFiles

    Để có một cách thuận tiện để có được đường dẫn chính xác, hãy sử dụng mã này để đặt đường dẫn trên trang tính. Sau đó sao chép/dán vào thủ tục phụ

    Sub Path_FileName()
    Dim strPath dưới dạng chuỗi
    strPath = ActiveWorkbook. Họ và Tên
    ActiveCell. Giá trị = strPath
    Kết thúc phụ

    Thực hiện điều chỉnh này nếu bạn cần. Đây là một số mã rất hữu ích

  7. Phi-líp

    Tháng Tư 2020 lúc 8. 50 giờ chiều

    Mình cũng bị lỗi 52

    “KIỂM TRA MÁY TÍNH ĐỂ BÀN” = VỊ TRÍ TỆP

    Tôi đã thay đổi chuỗi mã này (đã di chuyển dấu ngoặc đơn) từ bên dưới và nó đã hoạt động

    ĐÃ THAY ĐỔI TỪ
    FolderPath = Environ(“userprofile”) & “DesktopTest”

    ĐÃ THAY ĐỔI THÀNH
    FolderPath = Environ(“userprofile” & “DesktopTest”)

  8. Bruce P

    Tháng Tư 2020 lúc 6. 33 giờ chiều

    Cảm ơn bạn rất nhiều. Tôi đã tìm thấy nhiều phiên bản khác của mã này nhưng đây là phiên bản đầu tiên hoạt động cho phiên bản Excel của tôi. Cần kết hợp hơn 30 bảng tính và nó giúp tôi tiết kiệm rất nhiều thời gian

  9. Sumitha

    Tháng Tư 2020 lúc 11. 15 giờ chiều

    Tôi gặp lỗi 52 khi chạy mã

  10. song phương

    Tháng Tư 2020 lúc 4. 12 giờ đêm

    Cảm ơn rất nhiều. Nó rất hữu ích. Tôi là một nhà giao dịch quyền chọn cần nó để kiểm tra lại mọi thứ. Vì vậy, cảm ơn một lần nữa. Hãy cho tôi biết làm thế nào tôi có thể trả lại cho bạn

  11. Carolyn

    Tháng Ba 2020 lúc 10. 17 giờ chiều

    Rất cảm ơn vì điều này. Bốn mươi bảng tính… thành một mà không cần sao chép/dán từng trang tính. Phù

  12. Peggy

    Tháng Ba 2020 lúc 7. 29 giờ tối

    làm cách nào tôi có thể thêm vào tiêu đề trong trang tính đang hoạt động trước khi tôi chạy mã này?

  13. Nitin Singla

    Tháng Ba 2020 lúc 1. 13 giờ chiều

    Tôi đã làm theo hướng dẫn cẩn thận nhưng tôi gặp lỗi Bad filename 52

  14. Micheal T.

    Tháng hai 2020 tại 5. 04 giờ sáng

    Mã tuyệt vời và hoạt động. Một điều mặc dù có thể làm mọi người vấp ngã. Chuỗi Filename cũng là một phần của Workbooks. Mở tên tệp. = lệnh. Bất kỳ ai gặp sự cố với biến Tên tệp nên thử đổi tên chuỗi thành tên khác để tránh sự cố. Ít nhất những gì tôi phải làm để điều này hoạt động đúng với tôi

    • Sumitha

      Tháng Tư 2020 lúc 11. 16 giờ chiều

      Tôi đang gặp sự cố về tên tệp

  15. Aditi Jain

    Tháng hai 2020 tại 7. 42 giờ chiều

    tuyệt vời. hoạt động tuyệt vời

  16. ahmed

    Tháng hai 2020 tại 2. 37 giờ sáng

    Tên tệp = Dir(FolderPath & “*. xls*”)

  17. ahmed

    Tháng hai 2020 tại 2. 37 giờ sáng

    Xin lỗi không hoạt động với tôi, khiến tôi gặp lỗi trên thư mục tệp

  18. RS

    Tháng mười hai 2019 tại 6. 18 giờ chiều

    Không thể kết hợp nhiều tệp...không hiển thị lỗi, chúng tôi có thể gửi cho bạn các tệp mẫu không-vui lòng chia sẻ id email của bạn

  19. Raphael

    tháng 11 năm 2019 lúc 5. 31 giờ sáng

    Đã làm cho tôi. Cảm ơn nhiều. tiết kiệm cho tôi nhiều thời gian cho một dự án làm việc. Cảm ơn bạn rất nhiều vì đã tải lên

  20. Simon sẽ

    Tháng Mười 2019 lúc 3. 36 giờ chiều

    Giống như rất nhiều người trong chủ đề này, điều này không hiệu quả với tôi – đề nghị gỡ xuống vì lãng phí thời gian quý báu

  21. Jackie

    Tháng Mười 2019 lúc 1. 26 giờ sáng

    Điều đó làm việc tuyệt vời. Cảm ơn bạn, cảm ơn bạn, cảm ơn bạn

  22. gg

    Tháng Tám 2019 lúc 2. 41 giờ sáng

    Rất nhiều cảm ơn đã làm việc hoàn hảo. bạn đã tiết kiệm thời gian của tôi

  23. Nađia

    Tháng Bảy 2019 lúc 11. 49 giờ tối

    Xin chào, làm cách nào tôi có thể kết hợp trang tính đầu tiên của nhiều sổ làm việc Excel trong một thư mục đã chỉ định vào một sổ làm việc Excel duy nhất?

  24. Tracy

    Tháng Sáu 2019 lúc 12. 41 giờ sáng

    Tôi đã sử dụng mã này nhưng nó đang tạo nhiều tab cho trang tính có cùng tên như Tên (1);

    Bất kỳ giải pháp

  25. Mujaz

    Tháng Năm 2019 lúc 8. 24 giờ chiều

    Tôi gặp lỗi Thời gian chạy Tên hoặc số tệp không hợp lệ
    Tôi đã sử dụng đường dẫn “H. Trang tính”
    Vui lòng tư vấn

    • Mya

      Tháng Mười 2019 lúc 5. 14 giờ sáng

      xóa

  26. rj

    Tháng Năm 2019 lúc 10. 50 giờ chiều

    không hoạt động, điều này xảy ra do lỗi
    Tên tệp = Dir(FolderPath & “*. xls*”)

    • HO CHI WAI

      Tháng Năm 2019 lúc 8. 28 giờ sáng

      bạn đã giải quyết trường hợp này?

    • Aditi Jain

      Tháng hai 2020 tại 7. 44 giờ chiều

      thử đặt “” ở cuối đường dẫn thư mục (lưu ý rằng trong dos, giữa tên tệp và thư mục phải có dấu “”

  27. Tò mò

    Tháng Năm 2019 lúc 9. 15 giờ sáng

    Tôi muốn kết hợp các bảng chấm công riêng lẻ vào một tệp chính, nhưng t/s được bảo vệ. Tôi vẫn có thể nhập dữ liệu và lưu nó chứ?

  28. kỳ đà

    Tháng Tư 2019 lúc 1. 47 giờ chiều

    Tôi đang gỡ lỗi trong tên tệp. Làm ơn giúp tôi

    • Soham

      Tháng Tư 2019 lúc 10. 15 giờ chiều

      Xóa Môi trường(“hồ sơ người dùng”) & khỏi mã của bạn. Điều này chỉ yêu cầu VBA chuyển đến các thư mục bên dưới người dùng của bạn. Nhưng nếu bạn đã có thứ gì đó như “C. UsersVarunDocuments” trong đường dẫn thư mục, điều này sẽ gây ra lỗi mà bạn gặp phải

  29. Saud Khan

    Tháng Tư 2019 lúc 11. 10 giơ tôi

    Xuất sắc

    Có thể đặt tên cho các trang tính phù hợp với tên tệp của chúng không?

    • kỳ đà

      Tháng Tư 2019 lúc 1. 17 giờ chiều

      Xin chào, tôi đang gỡ lỗi trong Tên tệp.
      Bạn có thể giúp tôi không?

  30. Hritik

    Tháng Tư 2019 lúc 1. 57 giờ tối

    Xin chào, tôi có nhiều sổ làm việc và tôi muốn kết hợp mọi trang tính thứ hai từ sổ làm việc lại với nhau

  31. krunal

    Tháng Tư 2019 lúc 12. 10 giơ tôi

    Cảm ơn về mẹo này Sumit…………

    Nhưng nó tạo ra nhiều trang con của nhiều tệp…phải làm gì nếu chúng tôi cần tất cả nhiều tệp vào chỉ một trang con duy nhất và tôi cũng muốn sao chép dữ liệu phải theo thứ tự

  32. Priti

    Tháng Tư 2019 lúc 2. 21 giờ tối

    Không làm việc cho tôi. Tôi đã làm theo tất cả các bước được đề cập ở trên

    • shri

      Tháng Mười 2019 lúc 6. 18 giờ sáng

      juse văn phòng WPS

    • shri

      Tháng Mười 2019 lúc 6. 18 giờ sáng

      xin lỗi tôi chỉ muốn nói. Sử dụng văn phòng WPS

  33. Aron

    Tháng Ba 2019 lúc 7. 40 giờ chiều

    lỗi 1004.
    phương thức ‘sao chép’ đối tượng ‘ _worksheet’ không thành công

    Gỡ lỗi =

    Tờ giấy. Sao chép sau. =ThisWorkbook. Trang tính(1)

    • Jahan

      Tháng Ba 2020 lúc 4. 02 giờ chiều

      cùng một vấn đề với tôi

  34. raza

    Tháng Ba 2019 lúc 3. 04 giờ chiều

    mã hóa này không hoạt động,
    lỗi trên
    Tên tệp = Dir(FolderPath & “*. xls*”)
    kindly slove this problem

    • kỳ đà

      Tháng Tư 2019 lúc 1. 50 giờ chiều

      tôi đang gặp một lỗi tương tự

    • Konark Desai

      Tháng Hai 2020 lúc 4. 43 giờ sáng

      Tôi đã sử dụng ” ” và nhập đường dẫn thư mục chứa tệp bên trong đoạn trích dẫn và nó hoạt động với tôi

  35. Rohiet Kumar

    Tháng hai 2019 tại 2. 02 giờ chiều

    Xin chào, tôi cần một số trợ giúp trong việc phát triển một công cụ tuyệt chủng. Trường hợp 80 Phần trăm có thể được thực hiện thông qua các công thức. Bit tôi cần một số trợ giúp về những thứ còn lại. Sẽ đánh giá cao sự giúp đỡ của bạn

  36. Yaniv

    Tháng Hai 2019 lúc 4. 59 giờ chiều

    không hoạt động 🙂
    cần hỗ trợ thông minh

    • Rohiet Kumar

      Tháng hai 2019 tại 2. 06 giờ chiều

      Tôi đang tạo một công cụ ước lượng. Phương pháp đầu tiên đã hoạt động, nhưng đó không phải là động.
      Tôi muốn danh sách được làm mới nếu có tệp mới được thêm vào thư mục.

  37. dây leo

    Tháng 2 năm 2019 lúc 7. 15 giờ chiều

    cảm ơn nhiều. Tiết kiệm rất nhiều thời gian

  38. tom

    tháng 1 năm 2019 lúc 7. 27 giờ chiều

    Siêu nhân.
    Tiết kiệm rất nhiều thời gian

  39. Tarun

    tháng 1 năm 2019 lúc 10. 28 giờ chiều

    Xin chào, tôi có thể cập nhật bảng nhật ký hàng ngày / bảng sử dụng vật liệu, bảng nhập kho và kết hợp thành 1 cho KPI không?

  40. NADER HAERI

    Tháng Giêng 2019 lúc 5. 08 giờ tối

    Xin chào Sumit
    Nó không hoạt động với tôi sau khi nhấn F5. Tôi nhận được ERE “TÊN TẬP TIN XẤU”
    Như tôi thấy số lượng người

  41. người Chăm

    Tháng mười hai 2018 tại 2. 29 giờ tối

    Còn việc sao chép các trang tính khác nhau từ các tệp excel khác nhau vào một trang tính bằng cách thêm dữ liệu mới vào trang cũ thì sao?

  42. Tammy Davis

    Tháng mười hai 2018 tại 11. 00 giờ chiều

    Cảm ơn bạn rất nhiều vì mã VBA này. Tiết kiệm thời gian tuyệt vời

  43. Prabhjeet Singh

    tháng 11 năm 2018 lúc 12. 39 giờ sáng

    Xin chào, tôi phải sao chép 4 sheet từ các tệp excel khác nhau trong một excel.
    Tên Excel mà tôi phải sao chép dữ liệu của mình= Tóm tắt

    Sao chép dữ liệu từ excel được liệt kê bên dưới
    Excel 1= Los Angeles CCAP ASE Sao ​​lưu nhật ký công việc 15-11-18
    Excel 2= Anaheim CCAP ASE
    Excel 3= BAY-North CCAP ASE Job Log Backup 15-11-18
    Excel 4= San Diego CCAP ASE Job Log Backup 15-11-18

    Bây giờ mỗi file chỉ copy 1 sheet. tên của tờ được đề cập dưới đây.
    Tên trang tính Excel 1= LA
    Tên trang tính Excel 2= Anaheim
    Tên trang tính Excel 1= SD
    Excel 1 sheet name= BayNorth

    Xin hãy giúp tôi phải gửi báo cáo cho người quản lý của mình

  44. Keith

    Tháng mười một 2018 tại 2. 29 giờ sáng

    Tôi có hơn 2000 tệp để kết hợp. Tôi đã chạy thử 100 và kết quả là rác

    • Alberto C

      Tháng Chín 2019 lúc 11. 39 giờ tối

      Bạn đã bao giờ tìm thấy một giải pháp?

  45. chuẩn bị

    Tháng mười một 2018 tại 2. 44 giờ chiều

    cách gộp 3 workbook thành 1 workbook dễ dàng nhanh chóng

  46. kaushik

    Tháng Mười 2018 lúc 8. 35 giờ chiều

    Tôi gặp lỗi khi đề cập đến Lỗi thời gian chạy 52. Tên tệp hoặc số không hợp lệ. Để biết thông tin của bạn, tôi đã lưu các tệp trên Máy tính để bàn của mình với tên thư mục là Kiểm tra. xin vui lòng đề nghị

  47. Sneha

    Tháng Mười 2018 lúc 7. 53 giờ chiều

    Tôi gặp lỗi tên tệp không hợp lệ, ai đó có thể giúp tôi khắc phục lỗi này, xin chân thành cảm ơn

  48. Lisa

    Tháng Mười 2018 lúc 7. 02 giờ sáng

    Nó không hoạt động với tôi, tôi có "tên hoặc số tệp sai". Bạn biết cách để sửa nó không?

  49. umar gillani

    Tháng Chín 2018 lúc 3. 17 giờ chiều

    Hữu ích

  50. Rishi Raj Gautam

    Tháng Chín 2018 lúc 11. 20 giờ sáng

    rất hữu ích, tôi rất thích

  51. sheetz

    Tháng Chín 2018 lúc 7. 49 giờ chiều

    Khi tôi nhấn f5, không có gì xảy ra -. bất cứ ai có thể xin vui lòng giúp đỡ?

  52. Aly tháng sáu

    Tháng hai 2018 tại 12. 26 giờ sáng

    Đang thử với các tệp CSV. =) sẽ cho bạn biết

  53. tối nay tôi là suarez

    Tháng mười hai 2017 tại 3. 08 giờ tối

    Tôi có một truy vấn. Giả sử tôi phải hợp nhất 652 sổ làm việc thành một. Tên tệp là 1. xlsx thành 652. xlsx và tôi chỉ muốn hợp nhất chúng theo thứ tự tăng dần của tên tệp. Mã này sẽ hợp nhất nó theo tên được sắp xếp của họ trong thư mục hay không ??

  54. sid kumar

    Tháng Mười 2017 lúc 2. 55 giờ chiều

    Xin chào Sumit, cần sự trợ giúp của bạn với macro trên

    Điều này hoạt động tốt nếu bạn muốn kết hợp nhiều trang tính trong 1 sổ làm việc

    Tôi cần một giải pháp trong đó cần thực hiện các bước sau

    1. Có khoảng 4000 nhân viên và sổ làm việc sẽ có mã nhân viên khôn ngoan
    2. Có 18 thư mục với sổ làm việc với 1 trang tính cho mỗi nhân viên. có khả năng đối với một nhân viên, một trong các sổ làm việc sẽ không ở đó
    3. Macro sẽ tạo sổ làm việc có mã emp, sau đó trên 18 thư mục sẽ kiểm tra xem sổ làm việc có sẵn cho ID nhân viên hay không và nếu có
    4. Sao chép và dán nó vào sổ làm việc đã tạo và lưu.
    5. Ngoài ra, có 3 sổ làm việc theo mặc định cần được thêm vào cho tất cả nhân viên

    Điều tôi không biết để chỉnh sửa macro ở trên là

    1. Làm cách nào để tạo vòng lặp For cho danh sách nhân viên
    2. Nếu không có sổ làm việc excel cụ thể trong một trong các thư mục thì nó sẽ không gây ra lỗi

    Hãy giúp tôi. Tôi cũng có thể liên lạc qua id email chính thức của bạn và sẽ rất vui nếu bạn có thể cung cấp giải pháp sớm nhất ngay cả khi nó có tính phí

    Trân trọng

  55. Jon đứng

    Tháng Chín 2017 lúc 4. 10 giơ tôi

    Thật tuyệt vời cảm ơn. Sẽ tốt hơn nữa nếu nó đặt tên các trang tính theo tên tệp gốc

    • saud

      Tháng Tư 2019 lúc 6. 14 giờ chiều

      Vâng

  56. ThùngNgựa

    Tháng Bảy 2017 lúc 11. 46 giờ chiều

    Vẫn sử dụng được. Bạn cần đặt dấu “/” sau đường dẫn của mình nếu bạn sao chép nó vào

    • Caz

      Tháng Chín 2019 lúc 1. 11 giờ đêm

      Cảm ơn bạn, điều này hoạt động cùng với việc xóa đoạn Mã môi trường(“hồ sơ người dùng”) & cho FolderPath nơi tôi có thể kết hợp 13 tệp Excel trang tính đơn lẻ mà tôi đã đặt trong thư mục thử nghiệm trên ổ đĩa mạng được ánh xạ (ví dụ. Đường dẫn thư mục = “Z. 20198 – THÁNG 8Bài kiểm tra người tham dự cuộc họp/”

  57. Steve

    Tháng Bảy 2017 lúc 3. 26 giờ sáng

    Mã thực sự hiệu quả đối với tôi khi sử dụng trong Excel 2016 sau một vài thử nghiệm.
    Một số mẹo dành cho những ai đang gặp khó khăn khi nhận được thông báo lỗi.
    1) Mã này dùng được cho cả xls và xlsx, không cần sửa đổi.
    2) Đoạn mã CHỈ có tác dụng với trang tính, hãy thử di chuyển biểu đồ, bạn sẽ gặp lỗi. (có ai biết cách di chuyển tất cả cùng nhau không?)
    3) Thử 1 hoặc 2 sổ làm việc trước để xem nó có phù hợp với bạn hay không.

    Hy vọng những điều này sẽ giúp ích cho tất cả các bạn 🙂

  58. Ghulam

    Tháng Năm 2017 lúc 4. 43 giờ chiều

    Wow cái đầu tiên thực sự hoạt động. )

  59. Jiggs Casey

    Tháng Năm 2017 lúc 8. 17 giờ chiều

    Điều này không hiệu quả. Có, nó kết hợp 2 sổ làm việc, nhưng nó phá hủy chức năng của các công thức trong quy trình. Bây giờ, đây có thể là do tôi đưa ra một số lựa chọn tồi khi nó nhắc tôi trong khi macro đang chạy. không biết. Thí dụ. trong khi macro đang chạy, tôi đã có một số "tên 'danh sách sử dụng' đã tồn tại. Có để giữ không để đổi tên thành một thông báo khác” (phụ 'danh sách sử dụng' với nhiều tên khác). Và liên quan đến các công thức khác bị phá hủy, ví dụ. một ='TAB' đơn giản. A1&” “&'TAB'. Loại công thức A2 hiện đầy ắp thông tin thư mục tệp. Vì vậy, nó đọc như.
    ='C. Người dùngEtcpathTAB'. A1&” “&'C. Người dùngEtcpathTAB'. A2
    Cái cuối cùng tôi có thể sửa bằng cách xóa thông tin thư mục tệp ngu ngốc, từng công thức một. Đối với toàn bộ việc đồng ý hay không đối với việc đổi tên những thứ đã tồn tại… Tôi đang lúng túng.

    TL;DR Tôi không biết VBA & công thức này không hoạt động trong kịch bản của tôi

  60. Slamat Ale

    Tháng Năm 2017 lúc 10. 08 giờ sáng

    Sumit Bansal bạn Rock <3

  61. J2

    Tháng Tư 2017 lúc 4. 51 giờ chiều

    Cảm ơn vì đã đăng bài này. Tôi nhận được "Lỗi thời gian chạy '52'. Tên hoặc số tệp không hợp lệ” – có ai biết cách tôi có thể khắc phục điều này không?

    • lb

      Tháng Năm 2017 lúc 8. 07 giờ tối

      thay đổi. xls để. xl
      Tôi cũng đã xóa "môi trường"

  62. Akbar Mahfuz alam

    Tháng Ba 2017 lúc 6. 25 giờ chiều

    Cần nhiều tệp vào một trang tính

  63. Benjamin Leung

    Tháng hai 2017 tại 7. 07 giờ sáng

    Xin chào, tôi đã có thể làm cho đoạn script trên hoạt động

    Làm cách nào tôi có thể sửa đổi tập lệnh này thành Trang tính kết hợp có tên “Sheet1” từ nhiều tệp thành một tệp

    • Maria Angelova

      Tháng Ba 2017 lúc 7. 41 giờ sáng

      vậy làm thế nào mà bạn đã làm cho nó hoạt động ???

  64. Jordan Christopherson

    Tháng hai 2017 tại 10. 08 giờ tối

    Tôi đang thiếu gì? . Tên tệp = Dir(FolderPath & “*. xlsm*”). tôi đã đổi nó thành. xlsm cho Excel 2013 cho macro

    • Maria Angelova

      Tháng Ba 2017 lúc 7. 40 giờ sáng

      Ugh…tôi cũng vậy

  65. Pam

    Tháng Giêng 2017 lúc 9. 46 giờ chiều

    Ngoài ra, tôi có thể chỉ kết hợp trang 1 của sổ làm việc để kết hợp thành một sổ làm việc không?

  66. Pam

    Tháng Giêng 2017 lúc 9. 31 giờ tối

    Nếu tệp của tôi nằm trên ổ đĩa mạng, tôi có xóa phần “Môi trường” của Đường dẫn thư mục không?

  67. CA Rahul Agrawal

    Tháng Sáu 2016 lúc 11. 51 giờ sáng

    Nó không làm việc cho tôi. Khi tôi nhấn F5...không có tổ hợp trang tính nào. >

  68. La-xa-rơ

    Tháng Năm 2016 lúc 9. 59 giờ chiều

    Cảm ơn bạn về mẹo.
    Tôi có câu hỏi liên quan đến việc xử lý tệp bằng macro (*. xlsm) vì mã cũng sẽ chọn các tệp này trong quá trình chạy. Có vẻ như các macro sẽ không được sao chép cùng với các trang tính và do đó, một số công thức có thể không hoạt động trong sổ làm việc mới.

    • Sumit Bansal

      Tháng Năm 2016 lúc 2. 04 giờ chiều

      Cảm ơn vì đã bình luận Lazarus. Bạn đúng. Điều này sẽ không nhận các macro trong khi sao chép các trang tính

      • Vinay

        Tháng Tám 2016 lúc 12. 33 giờ sáng

        có cách nào nếu nhiều tệp có thể được hợp nhất thành một tab thay vì nhiều tab không?

      • Parmendra Nirwal

        Tháng Giêng 2017 lúc 12. 24 giờ chiều

        Xin chào Sumit,
        Tôi cũng không thấy tệp “xlsx” hoạt động. Nó đang hiển thị debugg tại Filename = Dir(FolderPath & “*. xlsx*”). Xin vui lòng nhận được một giải pháp. Cảm ơn

        • Maria Angelova

          Tháng Ba 2017 lúc 7. 30 giờ sáng

          Tôi đang gặp một lỗi tương tự…

          • manoj

            Tháng Tám 2017 lúc 2. 52 giờ chiều

            Tại Đây Khi Đường Dẫn Trong Thư Mục Được Sao Chép Nó Phải Bắt Đầu Từ Dạng “Desktop” & Không Phải Là “C. ”

            Nếu Sửa Cái Này Thì Nó Tự Động Hoạt Động Khi nhấn “F5”

        • manoj

          Tháng Tám 2017 lúc 2. 51 giờ chiều

          Ở đây Khi đường dẫn trong thư mục được sao chép, nó phải bắt đầu ở dạng “Desktop” & Not As “C. ”
          Nếu Sửa Cái Này Thì Nó Tự Động Hoạt Động Khi Nhấn F5

  69. Anand Kumar

    Tháng Năm 2016 lúc 12. 32 giờ chiều

    Cảm ơn về mẹo này Sumit…………

    Nhưng nó tạo ra nhiều trang con của nhiều tệp…phải làm gì nếu chúng ta cần tất cả nhiều tệp vào chỉ một trang con duy nhất…………

    làm ơn. Cứu giúp

    • Sumit Bansal

      Tháng Năm 2016 lúc 7. 35 giờ chiều

      Xin chào Anand, Theo những gì tôi hiểu, Bạn muốn kết hợp tất cả các trang tính từ tất cả các sổ làm việc thành một trang tính duy nhất. Điều này có thể bị giới hạn bởi số lượng hàng trong một trang tính. Sẽ rất hữu ích nếu bạn có thể chia sẻ một tệp mẫu

      Bạn có thể hợp nhất nhiều tệp Excel thành một không?

      Bạn thậm chí không cần phải mở tất cả các sổ làm việc mà bạn muốn kết hợp. Với sổ làm việc chính đang mở, đi tới tab Dữ liệu Ablebits > Hợp nhất nhóm và nhấp vào Sao chép Trang tính > Trang tính đã Chọn vào một Sổ làm việc . Trong cửa sổ hộp thoại Copy Worksheets, chọn các tệp (và các trang tính tùy chọn) mà bạn muốn hợp nhất và nhấp vào Tiếp theo.

      Cách dễ nhất để hợp nhất dữ liệu trong Excel là gì?

      Kết hợp dữ liệu bằng hàm CONCAT .
      Chọn ô mà bạn muốn đặt dữ liệu kết hợp
      Nhập =CONCAT(
      Chọn ô bạn muốn kết hợp trước. Sử dụng dấu phẩy để phân tách các ô bạn đang kết hợp và sử dụng dấu ngoặc kép để thêm dấu cách, dấu phẩy hoặc văn bản khác
      Đóng công thức bằng dấu ngoặc đơn và nhấn Enter