Chuyển công thức đầy dẫy thành VBA để file chạy nhanh hơn

Liên hệ QC

hoahongden142917

Thành viên hoạt động
Tham gia
28/5/13
Bài viết
179
Được thích
20
Xin kính chào các anh chị trong diễn đàn GPE. Em đang dùng 2 file này để tổng hợp thi đua hàng tháng cho CBGV trong cơ quan.
Trong đó file DB dùng để ghi diễn biến hàng tháng: DB01 là diễn biến thi đua của tháng 8, DB02 là tháng 9...
Sheet TD dùng để ghi các hạng mục của thang điểm thi đua của đơn vị.
Sheet CD3F dùng để ghi tên CBGV của đơn vị, vừa làm nhiệm vụ thống kê số lượng cd3f của 1 CBGV bất kì khi nhập vào các sheet DB.
...
Nhưng qua thời gian sử dụng có hạn chế đó là kích thước file nặng do dùng nhiều công thức quá, chạy rất lâu khi mở cùng 2 file DB và SK cùng lúc. Vậy hôm nay xin nhờ anh chị giúp em chuyển các công thức này sang VBA để file được nhẹ hơn.
1/ File DB: dùng VBA để thay cho công thức ở cột F, G và J
2/ File SK: dùng VBA để thay cho công thức từ cột B -> T
Xin chân thành cảm ơn.
 

File đính kèm

  • DB.xls
    2.6 MB · Đọc: 18
  • SK.xls
    2.5 MB · Đọc: 12
Xin góp vài í về cấu trúc file của bạn:
(1) Sao ta không gộp 10 trang "diễn biến" từng tháng thành 1 trang thôi; Khi ấy chỉ cần thêm 1 trang thứ 2 để muốn xem cụ thể tháng nào thì lọc tháng í ra đây để coi.
(2) Trong trang 'CD3F' ta có mã giáo viên là 'ĐTHV'; Ở đây không nên xài chữ cái 'Đ' trong mã; Cũng như vậy, ta không nên xài các nguyên âm có dấu trong hệ mã. Lí do là Font chữa tiếng Việt ở các máy khác nhau là khác nhau; Điều này có thể lúc nào đó gây tai hại, dù nhỏ.
Nên chăng thay vì 'Đ' ta xài 'F' gần đó cho trường hợp này.
(3) Nếu là mình thì dữ liệu thô khác; & từ đó rút trích ra báo cáo sẽ thông qua lọc (fileter hay gì, gì khác)
Hiện tại CSDL của bạn giống như 1 kết quả lọc & trở thành 'báo cáo' rồi.
Cũng chính điều này là file thêm nặng nề trong vận hành.
Rất tiếc là đã vô năm học mới; Chứ bạn nêu vấn đề này đầu hè; thì giờ bạn có thể có 1 CSDL hoàn chỉnh hơn rồi.
Mình cảm giác rằng CSDL của bạn vẫn có dáng dấp fa lẫn của "Word" fần nào

& rất vui nếu được trao đổi thêm cùng bạn về đề tài tái cầu trúc CSDL này, mình có rất nhiều thòi gian dành cho vi65c thảo luận sắp tới này!

Chúc vui!
 
Xin kính chào các anh chị trong diễn đàn GPE. Em đang dùng 2 file này để tổng hợp thi đua hàng tháng cho CBGV trong cơ quan.
Trong đó file DB dùng để ghi diễn biến hàng tháng: DB01 là diễn biến thi đua của tháng 8, DB02 là tháng 9...
Sheet TD dùng để ghi các hạng mục của thang điểm thi đua của đơn vị.
Sheet CD3F dùng để ghi tên CBGV của đơn vị, vừa làm nhiệm vụ thống kê số lượng cd3f của 1 CBGV bất kì khi nhập vào các sheet DB.
...
Nhưng qua thời gian sử dụng có hạn chế đó là kích thước file nặng do dùng nhiều công thức quá, chạy rất lâu khi mở cùng 2 file DB và SK cùng lúc. Vậy hôm nay xin nhờ anh chị giúp em chuyển các công thức này sang VBA để file được nhẹ hơn.
1/ File DB: dùng VBA để thay cho công thức ở cột F, G và J
2/ File SK: dùng VBA để thay cho công thức từ cột B -> T
Xin chân thành cảm ơn.
Bạn tự kiểm tra tôi chưa thử chỉ gán giá trị cho nhẹ file
 

File đính kèm

  • DB.xls
    2.2 MB · Đọc: 11
  • SK (1).xls
    1 MB · Đọc: 9
Xin góp vài í về cấu trúc file của bạn:
(1) Sao ta không gộp 10 trang "diễn biến" từng tháng thành 1 trang thôi; Khi ấy chỉ cần thêm 1 trang thứ 2 để muốn xem cụ thể tháng nào thì lọc tháng í ra đây để coi.
(2) Trong trang 'CD3F' ta có mã giáo viên là 'ĐTHV'; Ở đây không nên xài chữ cái 'Đ' trong mã; Cũng như vậy, ta không nên xài các nguyên âm có dấu trong hệ mã. Lí do là Font chữa tiếng Việt ở các máy khác nhau là khác nhau; Điều này có thể lúc nào đó gây tai hại, dù nhỏ.
Nên chăng thay vì 'Đ' ta xài 'F' gần đó cho trường hợp này.
(3) Nếu là mình thì dữ liệu thô khác; & từ đó rút trích ra báo cáo sẽ thông qua lọc (fileter hay gì, gì khác)
Hiện tại CSDL của bạn giống như 1 kết quả lọc & trở thành 'báo cáo' rồi.
Cũng chính điều này là file thêm nặng nề trong vận hành.
Rất tiếc là đã vô năm học mới; Chứ bạn nêu vấn đề này đầu hè; thì giờ bạn có thể có 1 CSDL hoàn chỉnh hơn rồi.
Mình cảm giác rằng CSDL của bạn vẫn có dáng dấp fa lẫn của "Word" fần nào

& rất vui nếu được trao đổi thêm cùng bạn về đề tài tái cầu trúc CSDL này, mình có rất nhiều thòi gian dành cho vi65c thảo luận sắp tới này!

Chúc vui!
Trước hết em xin chân thành cảm ơn anh. Em xin trình bày như sau:
1. Cách đưa vào 1 trang là sẽ nhẹ được file - tuyệt vời lắm anh ơi, tuy nhiên lúc đầu em cũng nghĩ sẽ đưa vào 1 trang nhưng một trường học người ta có đến 100 người thì thông tin nhập vào nó sẽ dài lắm, và nếu muốn bổ sung thêm vào tháng đó thì lại phải sort và khi muốn nhìn vào thông tin của tháng đó thì cũng hơi khó nhìn vì nhiều quá.
2. Trang CD3F có mã ĐTHV là vì em dùng hàm tách chữ cái đầu của 1 người để đỡ phải nhập thủ công. Nếu nhiều người quá mình nhập thủ công sợ cực
3. anh gợi ý cho em tí nữa được chứ.
Đúng là trang TD là em copy bên word dán vô hihi.
Hổm nay bận công việc đầu năm quá, rồi đang khởi công xây nhà nữa nên em không lên trả lời anh được. Em nhận được phản hồi từ diễn đàn là em mừng dữ lắm.
Bài đã được tự động gộp:

Bạn tự kiểm tra tôi chưa thử chỉ gán giá trị cho nhẹ file
Em chân thành cảm ơn anh. Em đang test file. Bước đầu thấy ok lắm. em sẽ tiếp tục test và phản hồi để được anh giúp em nữa nhe.
 
Trước hết em xin chân thành cảm ơn anh. Em xin trình bày như sau:
1. Cách đưa vào 1 trang là sẽ nhẹ được file - tuyệt vời lắm anh ơi, tuy nhiên lúc đầu em cũng nghĩ sẽ đưa vào 1 trang nhưng một trường học người ta có đến 100 người thì thông tin nhập vào nó sẽ dài lắm, và nếu muốn bổ sung thêm vào tháng đó thì lại phải sort và khi muốn nhìn vào thông tin của tháng đó thì cũng hơi khó nhìn vì nhiều quá.
2. Trang CD3F có mã ĐTHV là vì em dùng hàm tách chữ cái đầu của 1 người để đỡ phải nhập thủ công. Nếu nhiều người quá mình nhập thủ công sợ cực
3. anh gợi ý cho em tí nữa được chứ.
Đúng là trang TD là em copy bên word dán vô hihi.
Hổm nay bận công việc đầu năm quá, rồi đang khởi công xây nhà nữa nên em không lên trả lời anh được. Em nhận được phản hồi từ diễn đàn là em mừng dữ lắm.
Bài đã được tự động gộp:


Em chân thành cảm ơn anh. Em đang test file. Bước đầu thấy ok lắm. em sẽ tiếp tục test và phản hồi để được anh giúp em nữa nhe.
File DB gặp trục trặc ở các trang DB... rồi anh: mình chọn nội dung ở cột E (Diễn biến) rồi chọn gán mục I cho người đó thì điểm số ở cột G không biến mất mà vẫn còn đó, khi nào mình chọn nội dung ở cột E nữa thì điểm cột G mới biến mất. Anh có thể chỉnh cho điểm ẩn đi khi ta gán cột I cho nó ạ.
 
Web KT
Back
Top Bottom