Làm sao để lấy dữ liệu từ 1 sheet vào 1 sheet (khác workbook)

Liên hệ QC

dvu58

Thành viên thường trực
Tham gia
29/4/07
Bài viết
298
Được thích
378
Tôi thường xuyên phải làm thống kê số liệu về trường, lớp, giáo viên, học sinh cho gần 30 trường tiểu học, gần 20 trường THCS và trên 20 trường mầm non.

Tôi đã làm:
Tạo ra 1 workbookbao gồm:
Các Sheet: TONGHOP MN; TONGHOP TH; TONGHOP THCS.
Và các sheet: Truong MN1,...., TruongMN25; tương tự: TruongTH1,...., TruongTH30 và TruongTHCS1,...., TruongTHCS20.
Workbook này là "của tôi, do tôi và vì tôi"

Sau đó, tôi xẻ ra thành nhiều file (dĩ nhiên là *.xls) có chứa sheet có cùng cấu trúc, cùng tên gởi về các trường nhập dữ liệu (VD: Workbook có sheet :'TruongMN1' gởi cho trường Mầm non số 1 (hoặc có 1 tên nào đó)).

Tôi xin hỏi:

Khi nhận lại file đã có dữ liệu, tôi cần làm gì để import được toàn bộ dữ liệu vào cái workbook "của tôi, do tôii và vì tôi" đó nhỉ?
(Lưu ý: Sheet TONGHOP có chứa công thức để truy cập và cộng chung tất cả các trường mầm non, tiểu học, THCS)

Tôi đã dùng thủ thuật Move or Copy... sheet nhưng sau khi copy sheet thì tôi cần phải bỏ cái sheet ở workbook của tôi, thay tên cái sheet vừa copy đó để đúng địa chỉ truy cập của sheet TONGHOP. Tuy nhiên, khi xoá cái sheet kia thì Sheet TONGHOP sẽ xuất hiện #REF! - Như thế thì lại phải replace rất mất công.


TB
Trình bày dài dòng quá. Xin các bạn cảm phiền nhé. Tóm lại là có cách nào để import dữ liệu cho cái worbook "của tôi, do tôi và vì tôi" đó không? Mong các bạn mách nước. Cảm ơn các bạn nhiều lắm.
(Xin đừng la tôi rằng: "Hãy tìm kiếm vấn đề này trên diễn đàn trước đã!" nhé. Vì tôi chưa tìm ra vấn đề này)
 
Bác dvu58 này chắc đang công tác tại tổ vi tính của Phòng giáo dục rồi.
Anh gởi File Tổng hợp của anh và file của vài trường, như vậy sẽ dễ hình dung hơn. Em nghĩ sẽ có cách thôi.

Thân !
 
Ông này làm ở bộ phận Thống kê-Tổng hợp PGD-ĐT.
Một cách đơn giản là copy dữ liệu từ file của các trường và paste tương ứng vào các sheet trong file tổng hợp.
Để chuyên nghiệp hơn thì VBA hoá quá trình trên.
 
tedaynui đã viết:
Bác dvu58 này chắc đang công tác tại tổ vi tính của Phòng giáo dục rồi.
Anh gởi File Tổng hợp của anh và file của vài trường, như vậy sẽ dễ hình dung hơn. Em nghĩ sẽ có cách thôi.

Thân !

Cảm ơn tedaynui, đúng là mình đang công tác ở Phòng Giáo Dục nhưng hổng phải là ở bộ phận "chống kê", mà mình phụ trách chuyên môn. Chẳng là, chả có sư phụ nào làm dùm cho cái "chống kê" nên bị sếp gí, đành.... "liều mình ra tay, chống kê bao lần".

Bạn thử xem có cách nào không nhé. Mình định tải lên nhưng mấy cái file này lớn quá, nén lại cũng vẫn lớn (chứa nhiều công thức và của quá nhiều đơn vị).

Ờ, hay là mình tạo 1 cái tượng trưng thôi nghe, sẽ "up" sau.
Mình xin lỗi, vì bây giờ phải đi làm rồi.

Thân! (Mình đoán tedaynui cũng là đồng nghiệp rồi)
 
chibi đã viết:
Ông này làm ở bộ phận Thống kê-Tổng hợp PGD-ĐT.
Một cách đơn giản là copy dữ liệu từ file của các trường và paste tương ứng vào các sheet trong file tổng hợp.
Để chuyên nghiệp hơn thì VBA hoá quá trình trên.

Chibi ơi, bạn lại gây khó khăn cho mình rồi.
Cách này là cách mình vẫn hay làm. Nhưng ...
Khổ nỗi là có nhiều vùng công thức cần phải protect. Làm kiểu này cực lắm, ai ơi!
 
dvu58 đã viết:
Chibi ơi, bạn lại gây khó khăn cho mình rồi.
Cách này là cách mình vẫn hay làm. Nhưng ...
Khổ nỗi là có nhiều vùng công thức cần phải protect. Làm kiểu này cực lắm, ai ơi!

Bác nên chia data riêng, cái mà các trường nhập vào sẽ có 1 Data có cấu trúc giống hệt cấu trúc Sheet Data của bác. (trên Data thì hầu như không có công thức hoặc có rất ít).

Sau khi các trường gửi về thì dùng VBA copy tất cả vào data của bác.
Chú ý : Vì gộp vào chung tất cả nên trong cấu trúc Data của bác phải có một cột là "MATRUONG" để sau này làm việc với từng trường dễ dàng. Khi Copy vào thì mã trường nào đi với trường tương ứng.

Việc này rất đơn giản và dễ dàng.

Thân!
 
Gởi dvu58
Đúng là đồng nghiệp rồi. Không biết file của anh thế nào. Nhưng PGD bên em thường gởi các file thống kê về từng trường, dung lượng nhỏ xíu hà. Sau đó nhận lại của các trường và dùng VBA đưa vào 1 file Tổng Hợp cũng nhỏ xíu luôn. Tất cả đều thực hiện qua mail mà.

Nếu file lớn quá, anh nén 1 file tổng hợp và khoảng 3 file của trường gởi qua dangduyphuoc@gmail.com cho em.

Thân !
TDN
 
các bác có thể đưa lên diễn đàn để anh em học hỏi được không,em cũng đang muốn biết về vấn đề này
 
tedaynui đã viết:
Gởi dvu58
Đúng là đồng nghiệp rồi. Không biết file của anh thế nào. Nhưng PGD bên em thường gởi các file thống kê về từng trường, dung lượng nhỏ xíu hà. Sau đó nhận lại của các trường và dùng VBA đưa vào 1 file Tổng Hợp cũng nhỏ xíu luôn. Tất cả đều thực hiện qua mail mà.

Nếu file lớn quá, anh nén 1 file tổng hợp và khoảng 3 file của trường gởi qua dangduyphuoc@gmail.com cho em.

Thân !
TDN
Cái vụ này có thể áp dụng cho nhiều nghề chứ không phải riêng gì ở các đồng nghiệp ở các PGD đâu bạn ơi, đề nghị giải quyết trên diễn đàn cho anh em học tập với.
 
Nếu như có mạng LAN thì việc làm tương tự như thế thực hiện dc rất dễ dàng
 
tedaynui đã viết:
Gởi dvu58
Đúng là đồng nghiệp rồi. Không biết file của anh thế nào. Nhưng PGD bên em thường gởi các file thống kê về từng trường, dung lượng nhỏ xíu hà. Sau đó nhận lại của các trường và dùng VBA đưa vào 1 file Tổng Hợp cũng nhỏ xíu luôn. Tất cả đều thực hiện qua mail mà.

Nếu file lớn quá, anh nén 1 file tổng hợp và khoảng 3 file của trường gởi qua dangduyphuoc@gmail.com cho em.

Thân !
TDN


Mình đã gởi cho bạn rồi. file DVU58.rar (1,643K).
Nhờ bạn giúp nhé. Cảm ơn rất nhiều.
Thân
 
dvu58 đã viết:
Mình đã gởi cho bạn rồi. file DVU58.rar (1,643K).
Nhờ bạn giúp nhé. Cảm ơn rất nhiều.
Thân
Chào anh
Em đã nhận được File anh gởi. Nhưng em nghĩ có lẽ cần bổ sung thêm tí.

1/ Thêm phần danh mục trường. ví dụ
Nguyễn Đình CHiểu ------ NDC
Phan Chu Trinh --------- PCT
Bùi Thị Xuân ------------ BTX
và theo file Tổng Hợp của anh thì tên mỗi sheet là mã của trường đó.

2/ Khi đó, anh chỉ cần có 1 File hay Sheet mẫu thống kê. Dùng Macro tạo ra hàng loạt file gởi về các trường (có trong danh mục trường) để công việc nhẹ nhàng hơn

3/ Khi anh gởi file về các trường thì tên file là tên trường, tên sheet là mã trường. Như vậy khi tổng hợp về, anh chép vào 1 thư mục. Tạo 1 Macro lấy data từ các file này về File Tổng Hợp của anh.

Anh thử xem ví dụ dưới đây xem cách giải quyết này có hợp lý không. Nếu được, em sẽ lồng Macro này vào File Tổng Hợp của anh.

Thân!
TDN
 

File đính kèm

  • DVU58.ZIP
    29 KB · Đọc: 269
tedaynui đã viết:
Chào anh
Em đã nhận được File anh gởi. Nhưng em nghĩ có lẽ cần bổ sung thêm tí.

1/ Thêm phần danh mục trường. ví dụ
Nguyễn Đình CHiểu ------ NDC
Phan Chu Trinh --------- PCT
Bùi Thị Xuân ------------ BTX
và theo file Tổng Hợp của anh thì tên mỗi sheet là mã của trường đó.

2/ Khi đó, anh chỉ cần có 1 File hay Sheet mẫu thống kê. Dùng Macro tạo ra hàng loạt file gởi về các trường (có trong danh mục trường) để công việc nhẹ nhàng hơn

3/ Khi anh gởi file về các trường thì tên file là tên trường, tên sheet là mã trường. Như vậy khi tổng hợp về, anh chép vào 1 thư mục. Tạo 1 Macro lấy data từ các file này về File Tổng Hợp của anh.

Anh thử xem ví dụ dưới đây xem cách giải quyết này có hợp lý không. Nếu được, em sẽ lồng Macro này vào File Tổng Hợp của anh.

Thân!
TDN

Cảm ơn tedaynui, ý tưởng của bạn hay quá.
Nhưng mình còn băn khoăn bởi các vấn đề sau:
1. Các ô (vùng) dữ liệu thô rời rạc, không liên tục xen kẽ với các vùng công thức tính toán, xử lý có trong mỗi Sheet.
2. Các Sheet bị protect các vùng công thức (các vùng dữ liệu không khoá)

Liệu có lấy dữ liệu qua được không?

Chúc bạn vui, khoẻ
Thân
 
dvu58 đã viết:
Cảm ơn tedaynui, ý tưởng của bạn hay quá.
Nhưng mình còn băn khoăn bởi các vấn đề sau:
1. Các ô (vùng) dữ liệu thô rời rạc, không liên tục xen kẽ với các vùng công thức tính toán, xử lý có trong mỗi Sheet.
2. Các Sheet bị protect các vùng công thức (các vùng dữ liệu không khoá)
Liệu có lấy dữ liệu qua được không?
Thân
1/ Vùng dữ liệu rời rạc thì mình chọn vùng rộng hơn (bao phủ tất cả)

2/ Chỉ copy và Paste Value vào file Tổng hợp để file này nhẹ hơn.
File các trường có Protect thì cũng không ảnh hưởng gì.
Còn File Tổng hợp thì không cần Protect các sheet này vì đâu dùng công thức. Nếu muốn Protect thì cũng được thôi : dùng VBA Unprotect, sau đó thực hiện công việc copy, rồi lại dùng VBA Protect trở lại.

Thân!
TDN
 
cho em hỏi là ngoài cách dùng VBA ra còn có cách nào khác nữa không, em thấy trong box Excel dành cho người mới bắt đầu có đề cập đến chuyện dùng hàm indirect mà em không làm được, em có hỏi mà vẫn chưa thấy ai trả lời. Mong các bác thông cảm, em cũng mới nghiên cứu về excel nên chưa biết dùng VBA
 
connhangheo đã viết:
cho em hỏi là ngoài cách dùng VBA ra còn có cách nào khác nữa không, em thấy trong box Excel dành cho người mới bắt đầu có đề cập đến chuyện dùng hàm indirect mà em không làm được, em có hỏi mà vẫn chưa thấy ai trả lời. Mong các bác thông cảm, em cũng mới nghiên cứu về excel nên chưa biết dùng VBA
Chắc không thể dùng hàm Indirect rồi, vì dùng hàm này trên các file khác nhau thì những file này phải đồng thời được mở. nếu không nó sẽ #REF (Hình như dùng Name nhưng chưa thử) Nhưng nếu dùng hàm mà liên kết dữ liệu mấy chục file thì nặng nề lắm. Ngoài ra, muốn đem file Tổng Hợp đi đâu thì cũng phải vác mấy chục file ấy đi theo.... nhiều bất tiện lắm.

Thân!
TDN
 
tình hình này em fải học VBA gấp mới được
 
Các bác có phương pháp nào để giải quyết vấn đề này thông qua mail không. Nếu các trường sau khi nhập liệu xong, gửi qua mail, mình dùng VBA để import số vào data để xử lý.
Mong bác tedaynui gửi đoạn code xử lý "Sau đó nhận lại của các trường và dùng VBA đưa vào 1 file Tổng Hợp cũng nhỏ xíu luôn. Tất cả đều thực hiện qua mail mà..." cho anh em nghiên cứu với.
Nếu có thể làm ơn gửi cho tôi qua địa chỉ giaosy@yahoo.com.vn
Cảm ơn các bác nhiều.
 
tedaynui đã viết:
1/ Vùng dữ liệu rời rạc thì mình chọn vùng rộng hơn (bao phủ tất cả)

2/ Chỉ copy và Paste Value vào file Tổng hợp để file này nhẹ hơn.
File các trường có Protect thì cũng không ảnh hưởng gì.
Còn File Tổng hợp thì không cần Protect các sheet này vì đâu dùng công thức. Nếu muốn Protect thì cũng được thôi : dùng VBA Unprotect, sau đó thực hiện công việc copy, rồi lại dùng VBA Protect trở lại.

Thân!
TDN

OK, bạn giúp dùm mình đi nhé.

Thân
 
Gửi các bạn tham khảo cách mà mình vẫn dùng để thống kê từ các đơn vị.
Mô tả: Tất cả chứa trong thư mục THONGKE. Tệp chính có tên là Main.xls gồm: Main - Chứa giao diện, dstruong - Danh sách các trường, dulieu - Chứa dữ liệu được nạp vào, tke - Thống kê tổng hợp. Các tệp của các trường được copy vào thư mục THONGKE\DATA.
Ví dụ ở đây có 5 trường và thống kê mỗi trường có 3 ô số liệu.
 

File đính kèm

  • thongke.rar
    19.4 KB · Đọc: 166
Web KT
Back
Top Bottom