ý tưởng tăng tốc độ tính toán cho excel

Liên hệ QC

chautiet

Thành viên mới
Tham gia
29/8/08
Bài viết
2
Được thích
1
Xin chào tất cả các thành viên!

Vấn đề về tăng tốc độ xử lý,tính toán trong excel cho những file nhiều dữ liệu đã được đề cập rất nhiều nhưng mình cảm thấy chưa có cách nào vừa đơn giản (ko dùng VBA nhiều) vừa vẫn giữ nguyên các công thức với Auto Calculator.
Mình đã tham khảo bài này nhưng chưa hiểu rõ:http://danketoan.com/forum/ui-ng-du...ich-du-lieu-phan-mem-ke-toan-excel.76256.html , nhưng từ đó nghĩ ra 1 cách để tăng tốc nhờ các anh chị góp ý:

dùng VBA để đặt như thế nào để chỉ tính Auto Calculator đối với những Cell có Data thay đổi ,cập nhật mới (hoặc những Vùng tuỳ chọn) , còn những Cell có Data ko thay đổi thì đặt ở chế độ Manual Calculator. Như vậy excel sẽ ko tính lại từ đầu tất cả các công thức trên tất cả các sheet.

Mình chưa rành nhiều về VBA nên nếu các bác thấy cách nghĩ trên là hợp lý thì viết VBA cho cách này cho các thành viên cùng tham khảo. thanks các bác nhiều
 
Lần chỉnh sửa cuối:
Xin chào tất cả các thành viên!

Vấn đề về tăng tốc độ xử lý,tính toán trong excel cho những file nhiều dữ liệu đã được đề cập rất nhiều nhưng mình cảm thấy chưa có cách nào vừa đơn giản (ko dùng VBA nhiều) vừa vẫn giữ nguyên các công thức với Auto Calculator.
Mình đã tham khảo bài này nhưng chưa hiểu rõ:http://danketoan.com/forum/ui-ng-du...ich-du-lieu-phan-mem-ke-toan-excel.76256.html , nhưng từ đó nghĩ ra 1 cách để tăng tốc nhờ các anh chị góp ý:

dùng VBA để đặt như thế nào để chỉ tính Auto Calculator đối với những Cell có Data thay đổi ,cập nhật mới (hoặc những Vùng tuỳ chọn) , còn những Cell ko thay đổi thì đặt ở chế độ Manual Calculator. Như vậy excel sẽ ko tính lại từ đầu tất cả các công thức trên tất cả các sheet.

Mình chưa rành nhiều về VBA nên nếu các bác thấy cách nghĩ trên là hợp lý thì viết VBA cho cách này cho các thành viên cùng tham khảo. thanks các bác nhiều

Vấn đề này đề cập nhiều rồi, đầu Sub là dòng lệnh:
Application.Calculation = xlCalculationManual
Cuối dòng lệnh là cái này:
Application.Calculation =xlCalculationAutomatic

Cẩn thận nếu bị lỗi thì dòng lệnh trên vô tác dụng là hỏng.
 
Vấn đề này đề cập nhiều rồi, đầu Sub là dòng lệnh:

Cuối dòng lệnh là cái này:


Cẩn thận nếu bị lỗi thì dòng lệnh trên vô tác dụng là hỏng.


cái của bạn nói là để tăng tốc trong Marco,mình ko nói đến, nhưng ý mình nói là: đặt VBA sao cho khi tính toán chỉ tính những Cell có data thay đổi hoặc cập nhật mới,còn lại thì ko tính .
VD:
row1 MKH TENKH SL GIA THANH TIEN
row2 A1 NVA1 3 10 =SL*GIA
rowN ........................................

row(N+1) A2 NVA2 5 11 =SL*GIA


Nếu Tính toán thông thường thì khi cập nhật dữ liệu ở dòng n+1 thì excel sẽ auto tính lại tất cả công thức từ dòng 1 đến dòng N+1 này. còn mình muốn đặt VBA để excel chỉ tính toán công thức ở dòng N+1 này. Khi nào muốn tính lại tất cả thì bấm F9 để chạy auto Calculator sau. như vậy chắc chắn sẽ khắc phục được file có data lớn do tính chất công việc.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom