[HELP] Import nhiều file có password

bigbabol89

Thành viên hoạt động
Tham gia ngày
15 Tháng mười 2012
Bài viết
122
Thích
10
Điểm
370
#1
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
 

batman1

Thành viên tích cực
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,381
Thích
2,208
Điểm
360
#3
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
 

bigbabol89

Thành viên hoạt động
Tham gia ngày
15 Tháng mười 2012
Bài viết
122
Thích
10
Điểm
370
#4
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
 

batman1

Thành viên tích cực
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,381
Thích
2,208
Điểm
360
#5
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?
 

bigbabol89

Thành viên hoạt động
Tham gia ngày
15 Tháng mười 2012
Bài viết
122
Thích
10
Điểm
370
#6
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 ạ
 

batman1

Thành viên tích cực
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,381
Thích
2,208
Điểm
360
#7
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

bigbabol89

Thành viên hoạt động
Tham gia ngày
15 Tháng mười 2012
Bài viết
122
Thích
10
Điểm
370
#8
Lần chỉnh sửa cuối:

batman1

Thành viên tích cực
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,381
Thích
2,208
Điểm
360
#9
Tham gia ngày
22 Tháng chín 2018
Bài viết
18
Thích
3
Điểm
15
Tuổi
30
#10
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.
 

batman1

Thành viên tích cực
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,381
Thích
2,208
Điểm
360
#11
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))
 

tungshin90

Thành viên mới
Tham gia ngày
17 Tháng năm 2011
Bài viết
23
Thích
1
Điểm
365
Tuổi
29
#13
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

Top