[HELP] Import nhiều file có password

Liên hệ QC

bigbabol89

Thành viên thường trực
Tham gia
15/10/12
Bài viết
224
Được thích
34
Chào các anh chị
Em có vấn đề sau cần nhờ các anh chị giúp đỡ.
Em có nhiều file cùng cấu trúc và chung 1 folder, tuy nhiên các file đó đều có password ( em có pass ), pass ở mỗi file khác nhau.
Giờ em muốn tổng hợp toàn bộ dữ liệu các sheet đều có tên là ABC trong các file đó ( copy value thôi ) vào thành 1 sheet duy nhất.
Em mò mãi ko ra, rất mong các anh chị giúp
Em cám ơn
 
Em gửi file mẫu, mong mọi người giúp đỡ.
Data sẽ là file tổng hợp dữ liệu, em có ghi danh sách pass ở đó
 

File đính kèm

  • Data.xlsx
    7.8 KB · Đọc: 3
  • Test 1.xlsx
    14.5 KB · Đọc: 7
  • Test 2.xlsx
    15 KB · Đọc: 6
  • Test 3.xlsx
    15 KB · Đọc: 5
Thế bạn không biết làm khâu nào? Ai mà đoán được bạn muốn gì?

Bạn không mô tả cách tổng hợp dữ liệu nên không ai có thể giúp khâu này. Vì thế tôi cho là bạn mắc khâu mở tập tin. Nếu thế thì ví dụ
Mã:
Sub tonghop()
Dim lastRow As Long, k As Long, data(), wb As Workbook
    With ThisWorkbook.Worksheets("Sheet1")
        lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
        If lastRow < 2 Then Exit Sub
        data = .Range("A2:B" & lastRow).Value
    End With
    For k = 1 To UBound(data)
        Set wb = Workbooks.Open(data(k, 1), , , , data(k, 2))
'        bat dau tong hop du lieu
'        ...
'        ket thuc tong hop du lieu
        wb.Close
    Next k
End Sub

Chưa bẫy lỗi, vd. mật khẩu không đúng, vd. do gõ nhầm
 
Thế bạn không biết làm khâu nào? Ai mà đoán được bạn muốn gì?

Bạn không mô tả cách tổng hợp dữ liệu nên không ai có thể giúp khâu này. Vì thế tôi cho là bạn mắc khâu mở tập tin. Nếu thế thì ví dụ
Mã:
Sub tonghop()
Dim lastRow As Long, k As Long, data(), wb As Workbook
    With ThisWorkbook.Worksheets("Sheet1")
        lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
        If lastRow < 2 Then Exit Sub
        data = .Range("A2:B" & lastRow).Value
    End With
    For k = 1 To UBound(data)
        Set wb = Workbooks.Open(data(k, 1), , , , data(k, 2))
'        bat dau tong hop du lieu
'        ...
'        ket thuc tong hop du lieu
        wb.Close
    Next k
End Sub

Chưa bẫy lỗi, vd. mật khẩu không đúng, vd. do gõ nhầm
Dạ em xin lỗi, dữ liệu cần copy của em là toàn bộ dữ liệu trong sheet ABC của các file.
Em miêu tả công việc làm tay của em sẽ ntn ạ :
- Mở các file gõ pass
- Chọn sheet ABC
- Copy toàn bộ dữ liệu trong sheet đó
- Paste value ra chung 1 sheet
Mong a giúp em
 
Nhờ giúp mà cứ kiểu bắt người khác phải đoán ý?
Dạ em xin lỗi, dữ liệu cần copy của em là toàn bộ dữ liệu trong sheet ABC của các file.
- Copy toàn bộ dữ liệu trong sheet đó
Mỗi sheet có thể có dữ liệu ở ô bất kỳ? Hàng 1 triệu, cột vài chục ngàn?
- Paste value ra chung 1 sheet
Paste vào cùng chỗ + cộng dồn, nối chuỗi? Hay Paste lần lượt nối tiếp nhau? Paste 1 vào các dòng 1-234, 2 vào 235-912, 3 vào 913-1234?
 
Nhờ giúp mà cứ kiểu bắt người khác phải đoán ý?

Mỗi sheet có thể có dữ liệu ở ô bất kỳ? Hàng 1 triệu, cột vài chục ngàn?

Paste vào cùng chỗ + cộng dồn, nối chuỗi? Hay Paste lần lượt nối tiếp nhau? Paste 1 vào các dòng 1-234, 2 vào 235-912, 3 vào 913-1234?
Hì hì, a thông cảm, tại em ko rõ về ngôn ngữ lập trình.
Thường em cứ ấn ở cái nút giao nhau giữa hàng và cột rồi copy, sau đó paste
Dữ liệu 1 sheet của em maximum chỉ là 150 cột x 1000 hàng.
Và em copy paste liên tiếp nhau ạ
 
Hì hì, a thông cảm, tại em ko rõ về ngôn ngữ lập trình.
Thường em cứ ấn ở cái nút giao nhau giữa hàng và cột rồi copy, sau đó paste
Dữ liệu 1 sheet của em maximum chỉ là 150 cột x 1000 hàng.
Và em copy paste liên tiếp nhau ạ
Tập tin Data.xlsm và các tập tin xlsx phải ở cùng thư mục.
 

File đính kèm

  • Data.xlsm
    20.6 KB · Đọc: 23
Thì vẫn chạy tập tin đó thôi.

Trước khi hỏi thì nên kiểm tra xem thế nào.

Chào anh,

Em có chung 1 câu hỏi giống bạn trên , Nhưng em có chút thay đổi điều kiện anh giúp em luôn với ạ.
1,Nếu Các file lấy dữ liệu đó, điều kiện lấy dữ liệu luôn là sheet cuối cùng. Sửa code như thế nào anh?
2,Nếu file đc lưu ở cả 2 dạng xlsx, và xls có làm đc không ạ.
Em xin cảm ơn.
 
Chào anh,

Em có chung 1 câu hỏi giống bạn trên , Nhưng em có chút thay đổi điều kiện anh giúp em luôn với ạ.
1,Nếu Các file lấy dữ liệu đó, điều kiện lấy dữ liệu luôn là sheet cuối cùng. Sửa code như thế nào anh?
Sửa
Mã:
With wb.Worksheets("ABC")
thành
Mã:
wb.Worksheets(wb.Worksheets.Count)
2,Nếu file đc lưu ở cả 2 dạng xlsx, và xls có làm đc không ạ.
Em xin cảm ơn.
Thì phải liệt kê tên và cả định dạng. Tức thay vì "Test 1", "Test 2", "Test 3" thì phải nhập "Test 1.xlsx", "Test 2.xls", "Test 3.xlsb" vào cột A và đồng thời sửa
Mã:
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & data(k, 1) & ".xlsx", , , , data(k, 2))
thành
Mã:
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & data(k, 1), , , , data(k, 2))
 
Thì vẫn chạy tập tin đó thôi.

Trước khi hỏi thì nên kiểm tra xem thế nào.
Em chào anh em cũng gặp vấn đề tổng hợp file, các file của em cũng có Pass khóa giữ liệu, pass lại là cài đặt trong code vba khi anh ấn vào hình chữ nhật trong file Excel Pass: 2016 thì mở khóa được trang tính, em thử file của anh nhưng không phù hợp tổng hợp file của em, em tải lên đây a giúp em code VBA để toonge hợp file này với ạ
Em cám ơn
 

File đính kèm

  • lien.xlsm
    122.4 KB · Đọc: 2
  • nam.xlsm
    122.6 KB · Đọc: 2
  • Tổng hợp.xls
    56 KB · Đọc: 2
  • vu.xlsm
    122.6 KB · Đọc: 2
Web KT
Back
Top Bottom