Copy sang các file trong các thư mục khác nhau

Liên hệ QC

hongphuong1997

Thành viên tiêu biểu
Tham gia
12/11/17
Bài viết
770
Được thích
321
Giới tính
Nữ
Cháu nhờ các Bác và Anh chị giúp cháu bài như file đính kèm ạ
Cháu cảm ơn ạ
 

File đính kèm

  • Dulieu.xls
    302 KB · Đọc: 24
Cái này không cần code đi chọn file trong các folder mà nên để bật cửa sổ rồi quét chọn file bằng tay cho đơn giản.
Cháu nhờ các Bác và Anh chị giúp cháu bài như file đính kèm ạ
Cháu cảm ơn ạ
Em gửi cho anh Thuận 2 file đích nữa để anh ấy thử thì chắc là vừa tầm, không sợ "quá sức" nữa.
 
Lần chỉnh sửa cuối:
Upvote 0
Cái này không cần code đi chọn file trong các folder mà nên để bật cửa sổ rồi quét chọn file bằng tay cho đơn giản.

Em gửi cho anh Thuận 2 file đích nữa để anh ấy thử thì chắc là vừa tầm, không sợ "quá sức" nữa.
file thì em ghi đường dẫn ở cột "B" rùi đó anh
 
Upvote 0
Chọn tay thì không cần đường dẫn, xem file đích để biết cấu trúc của sheet sẽ dán dữ liệu từ sheet nguồn vào mà.
Anh oi, em không thick chọn tay vì khi đó lại phải ngồi để chờ đợi.
Và mặt khác vì trong ổ cứng có rất nhiều thư mục và nhiều file, nên dễ bị chọn nhầm lắm
Anh viết giúp em với ạ.
 
Upvote 0

File đính kèm

  • Dulieu(Mrs HongPhuong).xlsm
    235.8 KB · Đọc: 12
Upvote 0
file thì em ghi đường dẫn ở cột "B" rùi đó anh
Tự test kết quả lấy. Chưa có bẫy lỗi
Mã:
Option Explicit
Sub ABC()
    Dim Wb As Workbook, WbM As Workbook
    Dim Ws As Worksheet, sArr(), i&
    Set Wb = ThisWorkbook
    Set Ws = Wb.Sheets("ThongKe")
    sArr = Wb.Sheets("vung").Range("B2:B" & Wb.Sheets("vung").Range("B" & Rows.Count).End(3).Row).Value
    For i = 1 To UBound(sArr)
        Application.Workbooks.Open (sArr(i, 1))
        Set WbM = ActiveWorkbook
        Ws.Range("A6:U100").Copy WbM.Sheets("ThongKe").Range("A6")
        WbM.Close True
    Next
End Sub
 
Upvote 0
Anh oi, em không thick chọn tay vì khi đó lại phải ngồi để chờ đợi.
Và mặt khác vì trong ổ cứng có rất nhiều thư mục và nhiều file, nên dễ bị chọn nhầm lắm
Anh viết giúp em với ạ.
Mình có viết thì cũng dài và chạy chậm hơn code của 2 bạn trên nên bạn dùng 2 code này đi nhé.
 
Upvote 0
Upvote 0
Tự test kết quả lấy. Chưa có bẫy lỗi
Mã:
Option Explicit
Sub ABC()
    Dim Wb As Workbook, WbM As Workbook
    Dim Ws As Worksheet, sArr(), i&
    Set Wb = ThisWorkbook
    Set Ws = Wb.Sheets("ThongKe")
    sArr = Wb.Sheets("vung").Range("B2:B" & Wb.Sheets("vung").Range("B" & Rows.Count).End(3).Row).Value
    For i = 1 To UBound(sArr)
        Application.Workbooks.Open (sArr(i, 1))
        Set WbM = ActiveWorkbook
        Ws.Range("A6:U100").Copy WbM.Sheets("ThongKe").Range("A6")
        WbM.Close True
    Next
End Sub
@BuiQuangThuan anh oi!
Em xin mở rộng câu hỏi thêm chút síu anh nhé
 

File đính kèm

  • Dulieu.xls
    309 KB · Đọc: 12
Upvote 0
@BuiQuangThuan anh oi!
Em xin mở rộng câu hỏi thêm chút síu anh nhé
Bạn cứ mở tự nhiên. Mình nghĩ là được. Nhưng sợ lại quá sức với mình. Chờ các anh chị khác coi các anh chị giúp sao.
Mình nghĩ quét tất cả các file trong thư mục bạn đã khai báo và mở từng file lên và làm như trước thôi. Bạn có thể tìm hiểu được mà. Cố lên
 
Upvote 0
Bạn cứ mở tự nhiên. Mình nghĩ là được. Nhưng sợ lại quá sức với mình. Chờ các anh chị khác coi các anh chị giúp sao.
Mình nghĩ quét tất cả các file trong thư mục bạn đã khai báo và mở từng file lên và làm như trước thôi. Bạn có thể tìm hiểu được mà. Cố lên
Hihi..... nói thật sự với anh, em tuy hỏi bài cực nhiều và cũng được rất nhiều anh chị và các Bác siêu cao thủ trên GPE dạy dỗ rất nhiệt tình:
Nhưng thực tình em không thể tự viết code được
Em thật sự đáng buồn về bộ não của em.
 
Upvote 0
Hihi..... nói thật sự với anh, em tuy hỏi bài cực nhiều và cũng được rất nhiều anh chị và các Bác siêu cao thủ trên GPE dạy dỗ rất nhiệt tình:
Nhưng thực tình em không thể tự viết code được
Em thật sự đáng buồn về bộ não của em.
Thử tìm hiểu thêm về FileSystemObject
Tại mình biếng. Nên gợi ý cho bạn thế. Bạn chờ được. Mình sẽ làm cho bạn lúc rảnh nha?
Chờ thêm chút nữa. Chắc sẽ có người giúp bạn à
 
Upvote 0
Web KT

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

Back
Top Bottom