Cập Nhật dữ liệu từ nhiều file vào 1 file (1 người xem)

  • Thread starter Thread starter xmenx56
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

xmenx56

Thành viên chính thức
Tham gia
29/4/11
Bài viết
74
Được thích
28
Xin chào anh chị, những gì em hỏi nằm trong file đính kèm. Rất mong nhận được sự giúp đỡ của các anh, chị trên mọi miền đất nước. Chân thành cảm ơn.
 
Xin lỗi các bác, bài này khó hay dễ, hay là không hiểu vậy các bác hoặc ???. Xin được giúp đỡ. Nếu giải được bài này sẽ được bù đắp công lao của anh,chị , bù đắp gì ra sao...Nói chuyện qua gmail: xmenx56@gmai.com sẽ tiện hơn xin hứa vinh dự và uy tín. Cảm ơn
 
Lần chỉnh sửa cuối:
Chẳng ai xem, nhìn, thật là tủi phận.
Chà chà... ai lại nói vậy, nhìn vào số lần đọc topic này chứng tỏ có nhiều người xem đấy chứ.
Trước mắt, đồng nghiệp tham khảo file này nhé.
Trong file, mình đã cải thiện khá nhiều về chức năng chia file điểm (nên dùng 3 file cho 3 môn).
Hơn nữa, mình cũng xây dựng thêm hàm tự tạo để xếp loại cuối học kỳ, cuối năm. Đã sử dụng VBA thì nên sử dụng hàm tự tạo để xếp loại học lực, sẽ gọn gàng hơn, thậm chí kết quả cuối cùng chỉ cần giá trị chứ không cần hiển thị hàm trong đó cho nhẹ file.
Hàm này còn phải thảo luận thêm vì mình xây dựng theo hướng dẫn đánh giá 3 môn học này của Sở GD-ĐT Gia Lai (có thể không phù hợp với địa phương của bạn) và chưa xét trường hợp học sinh được miễn học.
Lưu ý: Trước khi cập nhật dữ liệu từ các file điểm cá nhân, hãy chép tất cả các file này vào 1 thư mục riêng không chứa file chủ. Việc này nhằm 2 mục đích:
- Quản lý file con được tập trung.
- Đơn giản hóa code cập nhật vì mỗi lần tìm thấy 1 file trong thư mục, không cần xét thêm đây có phải là file chủ không.

Rất mong nhận được sự góp ý của tất cả thành viên.
Trân trọng!
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn anh rất, rất nhiều: Anh xem lại dùm em
1. Báo lỗi câu: [F5].Resize([Q1], 15).ClearContents.
2. Tìm file mới tạo không thấy.
3. File tạo xong bị ẩn các dòng đầu của lớp mình mới vừa tạo.
Rất mong nhận được sự giúp đỡ của anh. Trân trọng cảm ơn anh rất nhiều
 
Lần chỉnh sửa cuối:
Bài này được anh Nghiphuc giúp đỡ gần được rồi, nhưng do hiểu biết VBA kém, nên rất mong nhận được sự giúp đỡ từ các thành viên GPE. Cảm ơn rất nhiều.
 
Cảm ơn anh rất, rất nhiều: Anh xem lại dùm em
1. Báo lỗi câu: [F5].Resize([Q1], 15).ClearContents.
2. Tìm file mới tạo không thấy.
3. File tạo xong bị ẩn các dòng đầu của lớp mình mới vừa tạo.
Rất mong nhận được sự giúp đỡ của anh. Trân trọng cảm ơn anh rất nhiều
Nguyên nhân do trong file chủ, hàng tiêu đề phụ (hàng 6) bị ẩn nên code chạy không được. Lúc đầu code chạy bình thường, sau đó mình cho ẩn hàng 6 đi nhưng lại không test lại.
Cách khắc phục: Thêm câu lệnh [5:5].EntireRow.Hidden = False sau câu lệnh [1:1].Delete
Xin xem lại file đính kèm mới ở bài #4.
 
Anh thành công rồi đó anh phúc. Tuy nhiên phát sinh 4 vấn đề nhỏ sau:
1. Sau khi tạo file xong nhấp vào Nút cập nhật điểm số thì không nhìn thấy file nhưng mình biết nơi lưu file nhấp chuột vào open thì cập nhật được điểm số, Tóm lại không nhìn thấy file mới tạo.
2. Khoá sheet file chủ thì 2 nút ( Tạo file và cập nhật điểm số) không làm việc được.
3. Em muốn sau khi tạo file mới khóa các (cột K, cột Q, cột R, cột S, cột T)
4. Công văn các môn xếp loại Nhạc...của tỉnh em Khác với công văn của tỉnh anh. ( em đã gữi qua mail của anh). Rất mong nhận được sự giúp đỡ của anh và từ các thành viên GPE. Em trân trọng cảm ơn rất nhiều.
 
Bài này được khoảng 90% rồi, chỉ còn 1 số tình huống phát sinh thêm, rất xin nhận được sự giúp đỡ từ các bác. Trân trong cảm ơn
 
Anh thành công rồi đó anh phúc. Tuy nhiên phát sinh 4 vấn đề nhỏ sau:
1. Sau khi tạo file xong nhấp vào Nút cập nhật điểm số thì không nhìn thấy file nhưng mình biết nơi lưu file nhấp chuột vào open thì cập nhật được điểm số, Tóm lại không nhìn thấy file mới tạo.
2. Khoá sheet file chủ thì 2 nút ( Tạo file và cập nhật điểm số) không làm việc được.
3. Em muốn sau khi tạo file mới khóa các (cột K, cột Q, cột R, cột S, cột T)
4. Công văn các môn xếp loại Nhạc...của tỉnh em Khác với công văn của tỉnh anh. ( em đã gữi qua mail của anh). Rất mong nhận được sự giúp đỡ của anh và từ các thành viên GPE. Em trân trọng cảm ơn rất nhiều.

Bác nào rành VBA giúp dùm em với, em cảm ơn nhiều lắm.
 
Anh thành công rồi đó anh phúc. Tuy nhiên phát sinh 4 vấn đề nhỏ sau:
1. Sau khi tạo file xong nhấp vào Nút cập nhật điểm số thì không nhìn thấy file nhưng mình biết nơi lưu file nhấp chuột vào open thì cập nhật được điểm số, Tóm lại không nhìn thấy file mới tạo.
2. Khoá sheet file chủ thì 2 nút ( Tạo file và cập nhật điểm số) không làm việc được.
3. Em muốn sau khi tạo file mới khóa các (cột K, cột Q, cột R, cột S, cột T)
4. Công văn các môn xếp loại Nhạc...của tỉnh em Khác với công văn của tỉnh anh. ( em đã gữi qua mail của anh). Rất mong nhận được sự giúp đỡ của anh và từ các thành viên GPE. Em trân trọng cảm ơn rất nhiều.
Bữa giờ bận làm công tác thi tốt nghiệp, chưa nghiên cứu được. Bây giờ thì OK rồi. Mình đã đáp ứng khá đầy đủ các yêu cầu của bạn.
1. Khi nhấn nút Cập nhật điểm, bạn không nhìn thấy file là đương nhiên, vì đó là hộp thoại chọn thư mục (bạn nhìn giao diện và tiêu đề của hộp thoại sẽ thấy điều này). Mình đã thay đổi chỗ này: Chọn file chứ không chọn thư mục nữa.
2. Cả 2 nút lệnh đã hoạt động tốt khi khóa sheet. Password protect sheet là "GPE". Nếu thay đổi Password, bạn cần thay đổi tương ứng trong 2 sub: Sub CapNhat() trong Module và Private Sub CmdOK_Click() trên Form.
3. Mình đã khóa toàn bộ sheet, chỉ trừ những vị trí cho giáo viên nhập điểm. Có nghĩa là sau khi tạo file điểm cá nhân, GV chỉ có thể nhập điểm mà không can thiệp đến cấu trúc cũng như các thông tin khác trong file.
4. Mình đã xây dựng công thức theo hướng dẫn của tỉnh An Giang (2 trường hợp thắc mắc bữa trước: Giỏi-Kém và Kém-Giỏi, mình đều cho về kết quả cả năm là TB). Trong file, mình sử dụng công thức xây dựng từ hàm sẵn có của Excel, còn 2 hàm tự tạo (TDhk và TDcn) chỉ để tham khảo.

Bạn xem trong file và cho ý kiến nhé.
Rất mong nhận được sự góp ý của toàn thể thành viên diễn đàn GPE.
Xin trân trọng cảm ơn!
 

File đính kèm

Dạ tốt rồi anh, còn 1 cái nhỏ nữa àh anh phúc em đã gữi qua mail của anh rồi. anh xem dùm em, em rất cảm ơn anh. Chúc anh vui ve và dồi dào sức khỏe.
 
Dạ tốt rồi anh, còn 1 cái nhỏ nữa àh anh phúc em đã gữi qua mail của anh rồi. anh xem dùm em, em rất cảm ơn anh. Chúc anh vui ve và dồi dào sức khỏe.
Theo mình, cái sai là ở chỗ việc nhà trường bạn áp dụng văn bản hướng dẫn của Sở.
Theo hướng dẫn thì như vầy:
HỌC KÌ:
+ Loại Giỏi (G): Có ít nhất 2/3 số lần kiểm tra đạt loại Giỏi, Các bài còn lại loại Khá.
+ Loại Khá (K): Có ít nhất 2/3 số lần kiểm tra đạt loại Khá, Các bài còn lại loại Trung Bình
+ Loại Trung Bình (TB): Có ít nhất 2/3 số lần kiểm tra đạt loại Trung Bình, Các bài còn lại loại Yếu.
+ Loại Yếu (Y): Có ít nhất 2/3 số lần kiểm tra đạt loại Yếu, Các bài còn lại loại Kém.
+ Loại Kém (Kém): Các trường hợp còn lại.
Còn việc áp dụng ở trường bạn là như vầy:
Những trường hợp em nêu ở dưới, áp dụng công văn do 2/3 bài kiểm tra
Môn TD có 5 bài vậy lấy lại 3 bài kiểm tra và áp dụng công văn
Môn Nhạc - Họa có 3 bài vậy lấy lại 2 bài kiểm tra và áp dụng công văn
2 môn Nhạc, Họa thì OK rồi, còn riêng môn Thể dục thì phải xem lại đấy, bởi vì 3/5 < 2/3. Do đó công thức trong file của mình là áp dụng đúng hướng dẫn (tất nhiên mình không thể biết quyết định của hiệu trưởng trường bạn như thế nào).
Nếu áp dụng theo cách ở trường bạn thì có thể sửa lại công thức tại ô K7 là:
=IF(J7="","",IF(J7="M","M",IF(AND(G>=0.6,Tb+Y+Kem=0),"G",IF(AND(G+K>=0.6,Y+Kem=0),"K",IF(AND(G+K+Tb>=0.6,Kem=0),"Tb",IF(G+K+Tb+Y>=0.6,"Y","Kém"))))))
 

File đính kèm

Em đã gữi mail mới cho anh. Anh xem lại dùm em. Chân thành cảm ơn anh nhiều.
 
Em đã gữi mail mới cho anh. Anh xem lại dùm em. Chân thành cảm ơn anh nhiều.
Mình đã xem file trong mail vừa nhận.
Thứ nhất, chức năng cập nhật dữ liệu trong file đó vẫn bình thường, không vấn đề gì, bạn thử tạo 1 file điểm cá nhân, nhập điểm vào file này, lưu file, đóng lại và nhấn nút Cập nhật điểm trên file chính xem.
Thứ hai, việc xếp loại học kỳ trong 2 trường hợp trong file của bạn (3 điểm G, 2 điểm Y và 3 điểm K, 2 điểm Y), công thức tại bài #14 ở trên của mình đều xếp loại học kỳ là Tb.
Bạn xem lại file sau nhé. File này là file tại bài #12, sau khi đã sửa công thức như ở bài #14.
Còn vấn đề gì, chúng ta nên trao đổi trực tiếp tại topic này để tiện theo dõi nhé, bởi vì đâu chỉ có 2 chúng ta đọc topic này đâu.
 

File đính kèm

Dạ, file em gữi cho anh, em đã đưa công thức xếp loại của em vào bây giờ cập nhật điểm sao không được, anh xem lại dùm em, bị lỗi chổ này anh Phúc: Sheet1.[B7:B65536].Find(.[B5], Sheet1.[B7]).Offset(, 4).Resize(.[Q1], 11).Value _
= .[B5].Offset(, 4).Resize(.[Q1], 11).Value và công thức của em sao khi chia file bị lỗi (#REF) các địa chỉ AN2-AO2, AN7-AO7 hình như không chia file những cột này hả gì đó anh Phúc, em không rõ lắm. Cảm ơn anh
 
Lần chỉnh sửa cuối:
File em đã kiểm tra lại và chính xác rồi anh Phúc. Bây giờ phát sinh cái này nữa anh phúc ơi, Trên file chủ mình khóa sheet lại không cho nhập dữ liệu trên file này, nhưng khi tạo file điểm mới, mình mới cho cập nhật dữ liệu. Mong nhận được sự giúp đỡ của anh. chân thành cảm ơn anh.
 
File em đã kiểm tra lại và chính xác rồi anh Phúc. Bây giờ phát sinh cái này nữa anh phúc ơi, Trên file chủ mình khóa sheet lại không cho nhập dữ liệu trên file này, nhưng khi tạo file điểm mới, mình mới cho cập nhật dữ liệu. Mong nhận được sự giúp đỡ của anh. chân thành cảm ơn anh.
Cách xử lý cũng đơn giản thôi:
1. Chọn toàn bộ các cột F:P, nhấn Ctrl+1, chọn tab Protection và chọn Locked --> OK và khóa sheet lại (mục đích: không cho nhập dữ liệu vào các cột này).
2. Thêm câu lệnh sau vào trước câu lệnh ActiveSheet.Protect "GPE" trong Sub CmdOK_Click trên Form (mục đích: mở khóa vùng nhập điểm)
PHP:
Application.Union([F5].Resize([Q1], 5), [L5].Resize([Q1], 5)).Locked = False
Ngoài lề một chút: Mình sửa lại công thức xếp loại cả năm một chút: Thêm một hàm IF ở ngoài cùng để bẫy lỗi trường hợp chưa có đủ xếp loại của 2 học kỳ:
=IF(OR(R7="",S7=""),"",IF(R7=S7,R7,IF(OR(R7="M",S7="M"),SUBSTITUTE(R7&S7,"M",""),IF(ISNUMBER(FIND(HK1_2,Gcn)),"G",IF(ISNUMBER(FIND(HK1_2,Kcn)),"K",IF(ISNUMBER(FIND(HK1_2,Tbcn)),"Tb","Y"))))))
Xin tham khảo trong file.
 

File đính kèm

Lần chỉnh sửa cuối:
File tuyệt vời rồi anh Phúc. Cảm ơn anh nhiều lắm. Được voi đòi tiên. Em muốn tạo 1 form để In ra từng lớp trên file chủ, mỗi 1 lớp như vậy 2 trang giấy. Rất mong anh giúp đỡ. Cảm ơn anh nhiều
 
File tuyệt vời rồi anh Phúc. Cảm ơn anh nhiều lắm. Được voi đòi tiên. Em muốn tạo 1 form để In ra từng lớp trên file chủ, mỗi 1 lớp như vậy 2 trang giấy. Rất mong anh giúp đỡ. Cảm ơn anh nhiều
Tưởng được voi đòi... HBT mới khó chứ như vầy thì chắc không khó lắm đâu. Bạn cứ thiết lập trang in (sử dụng Page setup) ngay trên file chủ. Sau đó, tạo file điểm cá nhân và thử in file điểm cá nhân này xem có ổn không nhé, khỏi cần thêm Form mới chi cho phức tạp.
Xin xem lại file đính kèm tại bài #19. Do cấu trúc bảng tính nên mình thiết lập trang in ngang.
 
Dạ vậy cũng được, cảm ơn anh, Cho em hỏi thêm nữa anh Phúc ơi. Làm sao cho stt, mã h/s, danh sách h/s, tên lớp, không bị trống vậy anh phúc, em mò ngày nay đuối qua anh ơi. Mong anh và các thành viên trên diễn đàn giúp đỡ, em trân trọng cảm ơn rất nhiều.
 
Dạ vậy cũng được, cảm ơn anh, Cho em hỏi thêm nữa anh Phúc ơi. Làm sao cho stt, mã h/s, danh sách h/s, tên lớp, không bị trống vậy anh phúc, em mò ngày nay đuối qua anh ơi. Mong anh và các thành viên trên diễn đàn giúp đỡ, em trân trọng cảm ơn rất nhiều.
Theo mình thì không nên lập công thức để tạo thông tin trên sheet FILECHU, các cột Mã HS, Teen HS, Lớp, Nữ trên sheet này nên chỉ là giá trị. Điều này có nghĩa là bạn sử dụng sheet DanhsachH.S, xử lý thông tin để tạo thành danh sách liên tục, tạo Mã HS. Sau đó copy các cột B, C, D, E và dán giá trị (Paste Values) sang sheet FILECHU, riêng cột A (STT) thì vẫn để nguyên công thức trên sheet FILECHU. Việc giữ công thức ở cột A, không để công thức tại các cột B, C, D, E sẽ tạo thuận lợi khi bạn sử dụng chức năng Tạo file điểm cá nhân. Bạn cứ thử tạo 1 file điểm cá nhân từ file tại bài #22 của bạn, sau đó đóng Excel rồi mở riêng file điểm cá nhân vừa tạo sẽ thấy điều này. Còn việc muốn sử dụng file cho nhiều năm thì bạn cứ lưu dự phòng 1 file trống thông tin để dùng cho các năm sau là được chứ có gì khó khăn?!

Trong file đính kèm dưới đây, mình bổ sung 2 checkbox Giữ điểm ở file điểm cá nhânIn file điểm cá nhân nhằm đáp ứng tốt hơn cho yêu cầu ở bài #20. Bạn thử khám phá nhé!
 

File đính kèm

Xin lỗi Mod thì mod cho hỏi bên lề 1 chút BQT ơi! Anh về Gia Lai rồi hả anh PHÚC, bà xã thế nào rồi (nhắn tin qua em dùm). Anh xem lại dùm em, ví dụ nếu file chủ mà có từ 2-3000 dong thì 2 cái nút đó làm việc rất chậm, đôi khi bị đứng máy, có cách nào khắc phục không anh.
 
em nhờ các anh chị một chút!
anh chị có thể hướng dẫn em một chút được không.
hiện em thường xuyên phải sử dụng bằng tay rất lâu và mất time và còn không chính xác tuyệt đối đó là
em có 2 file exell giống nhau và ở 2 pc, em thường xuyên phải chạy và sửa trên 2 máy trong cùng 1 file exell đó.
cứ hết ngỳa thì em lại phải copy 1 file trên máy kia xuống để đối chiếu mất rất nhiều time.
anh có cách nào mà khi em ngồi một máy làm việc mà dữ liệu máy kia vẫn update được từ máy của em không.
anh giúp em mới.em mất rất nhiều time vì em thuờng xuyên sử dụng trên exell mà.
em cám ơn các anh nhé
 
em nhờ các anh chị một chút!
anh chị có thể hướng dẫn em một chút được không.
hiện em thường xuyên phải sử dụng bằng tay rất lâu và mất time và còn không chính xác tuyệt đối đó là
em có 2 file exell giống nhau và ở 2 pc, em thường xuyên phải chạy và sửa trên 2 máy trong cùng 1 file exell đó.
cứ hết ngỳa thì em lại phải copy 1 file trên máy kia xuống để đối chiếu mất rất nhiều time.
anh có cách nào mà khi em ngồi một máy làm việc mà dữ liệu máy kia vẫn update được từ máy của em không.
anh giúp em mới.em mất rất nhiều time vì em thuờng xuyên sử dụng trên exell mà.
em cám ơn các anh nhé
Nếu 2 máy tính này có kết nối với nhau qua mạng LAN thì bạn hãy nghĩ đến việc chỉ sử dụng 1 file và share file này qua mạng LAN để làm việc. Nếu bạn có nhu cầu cao cấp hơn thì hãy nghĩ đến A-Tools. Bạn có thể đọc topic này để biết cách share workbook và tham khảo về A-Tools.
 
vâng em cám ơn anh rất nhiều anh đã giúp em giảm bớt thời gian đáng quý đó.khi nào các anh có time ghé qua phú xuyên thì em mời anh vào nhà em chơi anh nhé.các anh cứ phone theo số này là em lúc nào cũng nghe.0987755046.
Àh quên mất anh cho em hỏi thêm một chút nữa là nếu em vẫn sử dụng 2 file đó và 2 pc khác nhau nhưng lại không kết nối qua mạng lan mà 2 pc kết nối theo 2 modem mạng khác nhau thì em phải làm thế nào mà vẫn có thể update dữ liệu về máy em được.
vì em cũng hay làm ở nhà mà không đến công ty được.em lại làm phiền anh rồi.anh chỉ cho em chi tiết một chút nhé vì mạng thì em không sành lắm.
anh cố gắng giúp em nhé.
 
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. Tệp đính kèm ở đây http://www.giaiphapexcel.com/forum/...của-nhiều-file-vào-1-số-cột-nhấ-định-một-file
 
Lần chỉnh sửa cuối:
Chào các bạn
Tôi có 1 danh sách gồm 4 cột : stt, tên, lớp ,phòng
Tôi tạo 1 fillter để lọc lớp và phòng
Phía trên tạo 1 ô ghi danh sách và nhờ các bạn giúp công thứ như sau :
- Nếu không chọn lớp hay phòng thì ô đó trống.
-Nếu chọ lớp thị hiện lớp
Nếu chọn phòng thì hiện phòng.
-Nếu vừa chọn lớp hay phòng thì hiện lớp hay phòng
Trường hợp số học sinh trong 1 lớp bằng số học sinh trong 1 phòng thì tôi muốn hiện lớp lúc đó ô trên sẽ thực hiện thế nào ?
 

File đính kèm

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

Back
Top Bottom