Cập nhật dữ liệu ở một số cột nhất định của nhiều file vào 1 số cột nhất định 1 file

Liên hệ QC

titanic20072007

Thành viên thường trực
Tham gia
10/7/07
Bài viết
213
Được thích
8
Nghề nghiệp
Giáo viên
Mong các bạn trong diễn đàn giúp mình cập nhật dữ liệu ở một số cột nhất định ở nhiều tệp (các tệp có cùng cấu trúc) vào một số cột nhất định ở một tệp bằng VB. Cụ thể như sau:
Giả sử mình có một tệp FileChu.xls lưu tổng số hàng đã bán của từng mặt hàng và số bán Max và Min của mặt hàng đó trong quí. Dữ liệu này được cập nhật từ 5 file ứng với 5 mặt hàng mà công ty có.
Mình không biết VB nên nhờ các bạn làm giúp để khi mở tệp FileChu nếu muốn cập nhật thì nhấn nút Cập nhật.
Một số yêu cầu thêm:
- Các tệp công ty đều khóa công thức nên mình muốn là sau khi cập nhật các tệp vẫn được khóa công thức như vậy.
- Trước khi cập nhật kiểm tra xem đã có đủ 5 tệp thì cập nhật (danh sách các tệp có trong FileChu.xls). Nếu chưa thì hiện tên những tệp còn thiếu và không cập nhật.
Mình gửi các tệp mẫu mong các bạn xem và giúp đỡ. Cảm ơn nhiều.
 

File đính kèm

Lần chỉnh sửa cuối:
Không có bạn nào ra tay giúp sao?
Nếu phức tạp quá nhờ các bạn làm giúp phần cập nhật từ các tệp vào FileChu.xls. Mình cũng xem nhiều bài hướng dẫn cập nhật từ nhiều tệp vào một tệp nhưng ở đó đều cập nhật tất cả hoặc nối tiếp vào file chủ còn tình huống của mình thì chỉ cập nhật một số cột và dữ liệu đã có ở cột đó bị thay bằng dữ liệu mới nên mình không áp dụng vào được. Nhờ các bạn giúp.
 
Lần chỉnh sửa cuối:
Upvote 0
Ban xem file, chưa kiểm tra kỹ, nhớ kiểm tra lại nha

Private Sub CommandButton1_Click()
With Application
.ScreenUpdating = False
.Calculation = 3
End With
Dim duongdan, F, a
Dim c, cot
duongdan = ThisWorkbook.Path
ActiveSheet.Unprotect Password:=12345
For c = 1 To 5
a = Cells(1, c).Address
F = Mid(a, 2, 1)
For cot = 3 To 7
For cot1 = 11 To 19 Step 2
Workbooks.Open duongdan & "\" & F & "_QuiI.xls"
With ActiveWorkbook
.Sheets("sheet1").[f6:f50].Copy
Cells(5, cot).PasteSpecial 3
.Sheets("sheet1").[h6:i50].Copy
Cells(5, cot1).PasteSpecial 3
.Close
End With
Next
Next
Next
ActiveSheet.Protect Password:=12345
MsgBox "Da Cap Nhat Xong"
With Application
.ScreenUpdating = True
.Calculation = 1
End With
End Sub
 

File đính kèm

Upvote 0
hic, file kia bị nhầm rồi

Private Sub CommandButton1_Click()
With Application
.ScreenUpdating = False
.Calculation = 3
End With
Dim duongdan, F, a
Dim c, cot, cot1
duongdan = ThisWorkbook.Path
ActiveSheet.Unprotect Password:=12345
cot = 3
cot1 = 11
For c = 1 To 5
a = Cells(1, c).Address
F = Mid(a, 2, 1)
Workbooks.Open duongdan & "\" & F & "_QuiI.xls"
With ActiveWorkbook
.Sheets("sheet1").[f6:f50].Copy
Cells(5, cot).PasteSpecial 3
.Sheets("sheet1").[h6:i50].Copy
Cells(5, cot1).PasteSpecial 3
.Close
End With
cot = cot + 1
cot1 = cot1 + 2
Next
ActiveSheet.Protect Password:=12345
MsgBox "Da Cap Nhat Xong"
With Application
.ScreenUpdating = True
.Calculation = 1
End With
End Sub
 

File đính kèm

Upvote 0
Khi tạo tệp mẫu em không để ý nên tạo các tệp có tên là A, B, C, D,.. nên có quy luật. Trên thực tế tễn các tệp là tên các mặt hàng ví dụ BiaHN_QuiI.xls, ThuoclaVina_QuiI.xls,... thì chỉnh thế nào à anh? Và anh chỉnh hộ là nếu tệp nào không có thì bỏ qua không cập nhật và chuyển sang tệp khác cuối cùng thông báo những tệp còn thiếu so với danh sách đã có trong tệp FileChu.xls. Rất mong anh chỉnh giúp em đang rất cần. Cảm ơn anh.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Tạm thời bạn đổi tên file thành A,B,C,D,E. Khi nào có thời gian rảnh mình sẽ làm lại file cho bạn nha
 
Upvote 0
Khi tạo tệp mẫu em không để ý nên tạo các tệp có tên là A, B, C, D,.. nên có quy luật. Trên thực tế tễn các tệp là tên các mặt hàng ví dụ BiaHN_QuiI.xls, ThuoclaVina_QuiI.xls,... thì chỉnh thế nào à anh? Và anh chỉnh hộ là nếu tệp nào không có thì bỏ qua không cập nhật và chuyển sang tệp khác cuối cùng thông báo những tệp còn thiếu so với danh sách đã có trong tệp FileChu.xls. Rất mong anh chỉnh giúp em đang rất cần. Cảm ơn anh.
Có 1 vài vấn đề về CSDL như sau:
1/ Tên NV trong file chủ là bao gồm các NV trong file con, và nếu trùng nhau thì phân biệt thế nào. Vậy lấy Stt làm mã?
2/ Các file con sh QuanLyDiem
- Tên sh kg nên có khoảng trắng.
3/ Có phải lấy từng quý theo tên sh file con?
 
Upvote 0
Đã làm theo ý của bạn.
 

File đính kèm

Upvote 0
Mình đã cho thể hiện tên file tương ứng, bạn xem hợp lý hay không
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom