Giải pháp nào để tăng tốc độ cho bảng tính.

Liên hệ QC
@ kieuhuy_bmt
sealand đi vắng..hay là bận cuối năm!
@ kieuhuy_bmt
Theo Tôi hiểu: Có lẽ Bạn nghĩ Diễn đàn này là chỗ để nhờ vã, đúng ý mình cũng tốt, không đúng ý mình cũng chẳng sao. Bạn nói là rất cần, mà mấy bữa nay Bạn chẳng theo dõi vấn đề mình nêu ra - đó là ý thứ 1
Ý thứ 2: Cùng 1 câu hỏi, trong 1 diễn đàn, Bạn lại đặt vấn đề ở 2 nơi... Tôi nghĩ Bạn thiếu tôn trọng - xin phép cho Tôi nói thật, là ý nghĩ của Tôi. Có cần nêu ra bằng chứng không???.
Có lẽ Tôi là người cuối cùng theo dõi đề tài này, thấy có thể giúp được thì nêu ý kiến phản hồi, mà đã 2 ngày (hôm qua - lúc sealand trả lời và hôm nay) không thấy Bạn có ý kiến nên rất bực mình.
Vài lời "thẳng như ruột ngựa", nếu có quá lời xin phép bỏ qua. Bái biệt!
 
Lần chỉnh sửa cuối:
@ kieuhuy_bmt

@ kieuhuy_bmt
Theo Tôi hiểu: Có lẽ Bạn nghĩ Diễn đàn này là chỗ để nhờ vã, đúng ý mình cũng tốt, không đúng ý mình cũng chẳng sao. Bạn nói là rất cần, mà mấy bữa nay Bạn chẳng theo dõi vấn đề mình nêu ra - đó là ý thứ 1
Ý thứ 2: Cùng 1 câu hỏi, trong 1 diễn đàn, Bạn lại đặt vấn đề ở 2 nơi... Tôi nghĩ Bạn thiếu tôn trọng - xin phép cho Tôi nói thật, là ý nghĩ của Tôi. Có cần nêu ra bằng chứng không???.
Có lẽ Tôi là người cuối cùng theo dõi đề tài này, thấy có thể giúp được thì nêu ý kiến phản hồi, mà đã 2 ngày (hôm qua - lúc sealand trả lời và hôm nay) không thấy Bạn có ý kiến nên rất bực mình.
Vài lời "thẳng như ruột ngựa", nếu có quá lời xin phép bỏ qua. Bái biệt!
Cảm ơn bác Tranhoe, bác Sealad!
Hôm nay mới vào, thấy tình hình căng thẳng quá. Đúng là mình thiếu tôn trọng anh em vì đã kg phản hồi ý kiến, làm mọi người bực mình. Hiện nay công việc cuối năm mình phải chuẩn bị nhiều thứ, chuẩn bị hầu mấy anh Thanh tra, lu bu quá. Mọi việc các bác giúp ở trên chưa đọc được, đành để dành. Cáo lỗi mọi người, Bác Tranhoe bớt giận xin đừng "bái biệt" em.
 
Lần chỉnh sửa cuối:
Tiếp tục dự án.
Chào cả nhà! Nay tôi mới quay lại dự án này được mong mọi người tiếp tục giúp đỡ. yêu cầu nhỏ dưới đây cũng nằm trong chuỗi công việc nhờ các bác ở trên. (Y/c ở trong File)
 

File đính kèm

  • TONG HOP_duong.rar
    629.7 KB · Đọc: 2
  • Gan_macot.jpg
    Gan_macot.jpg
    96.5 KB · Đọc: 4
Tiếp tục dự án.
Chào cả nhà! Nay tôi mới quay lại dự án này được mong mọi người tiếp tục giúp đỡ. yêu cầu nhỏ dưới đây cũng nằm trong chuỗi công việc nhờ các bác ở trên. (Y/c ở trong File)

Bạn xem file đính kèm nhé.
 

File đính kèm

  • TONG HOP_duong.rar
    622.5 KB · Đọc: 14
Hay quá, Cảm ơn Mhung12005! Do dữ liệu nhiều nên mình nhập nhanh vào shet này rồi từ đó nhập địa chỉ đó qua DATA. Chắc File còn lủng củng lắm nhờ mọi người giúp tay.
 

File đính kèm

  • TONG HOP_duong_1.rar
    798.6 KB · Đọc: 13
Giải pháp nào để tăng tốc độ cho bảng tính

Chào các bác!
Em có 1 file dung lượng rất lớn và nó chạy rất nặng. Em cũng đã thử dùng name động cho các hàm Vlookup, Sumif, Lookup, Sumifs,... nhưng mỗi lần tính thì rất lâu. Vậy nên em phải để chế độ tính Manual. Mỗi lần tính mất tầm 1 phút mới chạy xong.
Vì file dung lượng 12 MB nên em phải tải lên Google Drive. Các bác giúp em xem có cách nào để nó chạy nhanh hơn được không ạ!
Em cám ơn rất nhiều.


https://drive.google.com/file/d/0B91TMzyGjKWKSUs1TTVacGpCR2M/edit?usp=sharing
 
Chào các bác!
Em có 1 file dung lượng rất lớn và nó chạy rất nặng. Em cũng đã thử dùng name động cho các hàm Vlookup, Sumif, Lookup, Sumifs,... nhưng mỗi lần tính thì rất lâu. Vậy nên em phải để chế độ tính Manual. Mỗi lần tính mất tầm 1 phút mới chạy xong.
Vì file dung lượng 12 MB nên em phải tải lên Google Drive. Các bác giúp em xem có cách nào để nó chạy nhanh hơn được không ạ. Dù máy tính của em cũng không phải loại chậm lắm, máy HP EliteBook 8730w, ram 4G, chip Duo Core T9400
Em cám ơn rất nhiều.


https://drive.google.com/file/d/0B91...it?usp=sharing
 
Chào các bác!
Em có 1 file dung lượng rất lớn và nó chạy rất nặng. Em cũng đã thử dùng name động cho các hàm Vlookup, Sumif, Lookup, Sumifs,... nhưng mỗi lần tính thì rất lâu. Vậy nên em phải để chế độ tính Manual. Mỗi lần tính mất tầm 1 phút mới chạy xong.
Vì file dung lượng 12 MB nên em phải tải lên Google Drive. Các bác giúp em xem có cách nào để nó chạy nhanh hơn được không ạ. Dù máy tính của em cũng không phải loại chậm lắm, máy HP EliteBook 8730w, ram 4G, chip Duo Core T9400
Em cám ơn rất nhiều.


https://drive.google.com/file/d/0B91...it?usp=sharing
Bạn xoá hết dữ liệu đi, chỉ để lại mỗi bảng tính khoảng 10 dòng làm mẫu, kèm với những công thức bạn đang sử dụng rồi gởi file lên diễn đàn mọi người xem giúp cho. Biết đâu dùng VBA thì sẽ nhanh hơn nhiều. Cũng có thể file bạn bị name rác, shape ẩn nhiều nên sinh ra chậm.
 
Chào các bác!
Em có 1 file dung lượng rất lớn và nó chạy rất nặng. Em cũng đã thử dùng name động cho các hàm Vlookup, Sumif, Lookup, Sumifs,... nhưng mỗi lần tính thì rất lâu. Vậy nên em phải để chế độ tính Manual. Mỗi lần tính mất tầm 1 phút mới chạy xong.
Vì file dung lượng 12 MB nên em phải tải lên Google Drive. Các bác giúp em xem có cách nào để nó chạy nhanh hơn được không ạ. Dù máy tính của em cũng không phải loại chậm lắm, máy HP EliteBook 8730w, ram 4G, chip Duo Core T9400
Em cám ơn rất nhiều.


https://drive.google.com/file/d/0B91...it?usp=sharing

tự tìm hiểu name và code (Alt+F11)
(bạn biết về name, chú ý cách đặt các names bắt đầu bằng aCP_ ..)

Để nhân công thức ra thì chạy macro cpcp bằng cách bấm Ctrl+r
Để xóa phần giá trị để tính lại thì chạy macro clearclear bằng cách bấm Ctrl+Shift+D

file kèm đã xóa bớt dữ liệu đi cho nhẹ nhỏ mới up được ở đây, vậy bạn tự copy lại dữ liệu cho vào nhé

hiệu ích nhân các công thức phần vàng lên, sau đó tính toán gán lại giá trị, làm đúng đảm bảo file nhẹ 1/2 tốc độ tính thì không phải bàn
 

File đính kèm

  • BILL OF MATERIAL LLM18 21-6-2014_NN_nho.rar
    636.4 KB · Đọc: 10
Cám ơn bác rất nhiều. Em sẽ thử theo cách của bác xem sao. Thực sự thì em cũng mới biết về name, macro và VBA nhưng em chưa hiểu tại sao phảiddwatj các names bắt đầu bằng aCP_...,
 
Cám ơn bác rất nhiều. Em sẽ thử theo cách của bác xem sao. Thực sự thì em cũng mới biết về name, macro và VBA nhưng em chưa hiểu tại sao phảiddwatj các names bắt đầu bằng aCP_...,

bắt đầu bằng aCP_....., phần "....." là tên sheet để cho công nghiệp hóa việc viết code (bấm Alt+F11 xem) -- ứng với she et nào thì tên name đó sẽ biết ngay

chú ý tên các sheet đã sửa lại không chưa khoảng trắng (đã đổi thành dấu gạch dưới _ ) như thế mới đặt name giống kết hợp "aCP_" và "tên sheet"

chú ý các công thức ở ô vàng - là công thức như cũ của bạn nên bạn phải tự kiểm soát tính đúng đắn của nó, và chú ý trình tự chạy code theo trình tự sheet tính toán, ví như có những sheetA sau khi tính sẽ là là dữ liệu cho bước tính công thức của sheetB khác thì công thức nó (sheetA) chạy qua code phải được chạy trước sheetB
 
Lần chỉnh sửa cuối:
bắt đầu bằng aCP_....., phần "....." là tên sheet để cho công nghiệp hóa việc viết code (bấm Alt+F11 xem) -- ứng với she et nào thì tên name đó sẽ biết ngay

chú ý tên các sheet đã sửa lại không chưa khoảng trắng (đã đổi thành dấu gạch dưới _ ) như thế mới đặt name giống kết hợp "aCP_" và "tên sheet"

chú ý các công thức ở ô vàng - là công thức như cũ của bạn nên bạn phải tự kiểm soát tính đúng đắn của nó, và chú ý trình tự chạy code theo trình tự sheet tính toán, ví như có những sheetA sau khi tính sẽ là là dữ liệu cho bước tính công thức của sheetB khác thì công thức nó (sheetA) chạy qua code phải được chạy trước sheetB


Bởi vì như sheet "Detail Mat" và sheet "SUMMARY" đều dùng hàm Vlookup link sang nhau thì em phải tính sheet nào trước để nó tính đúng được ạ?

Thêm 1 điều nữa em chưa hiểu chắc cho lắm. Em đã copy dữ liệu của em sang file mới đó thì việc tính toán rất nhanh, điều em thắc mắc là Macro bác viết đó dùng để tính toán từng sheet một có đúng không ạ? và nếu em để bảng tính tự động thì liệu nó có bao giờ tính sai không ạ?

Em thấy dung lượng file sau khi sửa chỉ còn 6,4MB. Và tốc độ tính cũng rất nhanh nữa, không còn phải đợi như trước nữa.

Em cảm ơn bác rất nhiều!
 
Bởi vì như sheet "Detail Mat" và sheet "SUMMARY" đều dùng hàm Vlookup link sang nhau thì em phải tính sheet nào trước để nó tính đúng được ạ?

thế hơi khó đây,

Thêm 1 điều nữa em chưa hiểu chắc cho lắm. Em đã copy dữ liệu của em sang file mới đó thì việc tính toán rất nhanh, điều em thắc mắc là Macro bác viết đó dùng để tính toán từng sheet một có đúng không ạ? và nếu em để bảng tính tự động thì liệu nó có bao giờ tính sai không ạ?

Có thể sai, bạn thử kiểm tra xem,

Vì tôi chưa có thời gian xem xét kỹ công thức của bạn, mà công thức bạn thật nhiều và khó hiểu ngay


HIện giờ bạn có thể thống kê hết theo các ô vàng (cột) thì cột nào cần tính toán trước sau -- đánh số thứ tự từ 1 đến hết được.

tôi biết trinh tự tính toán thì mới hy vọng là code lại , để theo đúng

---------

vì hiện giờ code làm nhiệm vụ copy công thức ra, tính toán --rùi tức khắc biến thành value

nên lưu ý giá trị biến thành value thì không động nữa, muốn tính lại thì lại phải Ctrl+r .. để chạy lại
 
em cũng hiểu bản chất của code bác viết là copy lại công thức từ trên xuống dưới rồi biến thành giá trị tĩnh nên mỗi sheet chỉ có phần đầu là công thức dẫn đến lúc tính toán thì rất nhanh.

Thực ra những hàm em viết mà 2 sheet link sang nhau chủ yếu là để kiểm tra xem khi bóc bản vẽ thì cái code vật liệu (ở cột ID CODE) đã đúng hay chưa thôi.

Em làm vật tư cho dự án nên phải cập nhật bản vẽ, tính toán số lượng vật tư cần của bản vẽ để lấy về. Nếu tính bo toàn công thức như trước thì em cũng đã nghe nói cách chỉ dùng dòng đầu tiên là công thức rồi mỗi lần tính thì copy công thức đó xuống dưới và paste value nhưng làm như thế rất mất thời gian. Vì có quá nhiều bảng tính.

Bác cho em hỏi thêm nữa là mỗi lần nhấn Ctrl + R thì nó chỉ tính 1 mình sheet đó đúng không ạ?
 
........

Bác cho em hỏi thêm nữa là mỗi lần nhấn Ctrl + R thì nó chỉ tính 1 mình sheet đó đúng không ạ?

Đúng chỉ tính cho 1she et

chỉ tính các vùng có trong NAME aCP_tên_sheet_đó:

vùng đầu - 1 ô để tìm dòng cuồi cùng

vung2, vùng 3,... là vùng có công thức dòng đầu và copy xuống,

các vùng cách nhau dấu ","

Như thế cho nào cần ktra chéo, hay k muốn nó chạy trong macro thì xóa đi (chỉ để các ô thực tính), như thế nó mới không bị chằng chéo
 
nhờ các Bác giải thích giúp !

hàm sumif chỉ tính tổng được một cột,đằng này em muốn tính tổng đại số nhiều cột,vd tổng của cột A cộng tổng của cột B trừ đi tổng của cột C trừ đi tổng của cột D,theo điều kiện mã số của một mặt hàng nào đó.
 
hàm sumif chỉ tính tổng được một cột,đằng này em muốn tính tổng đại số nhiều cột,vd tổng của cột A cộng tổng của cột B trừ đi tổng của cột C trừ đi tổng của cột D,theo điều kiện mã số của một mặt hàng nào đó.

Theo mình nghĩ thì bạn chỉ cần dùng nhiều hàm sumif. Tức là coi mỗi hàm sumif đó như một số hạng
VD: "=sumif(...) + sumif(...) - sumif(...)+....."
Bạn muốn cộng trừ bao nhiêu cột thì tùy bạn!
 
Web KT
Back
Top Bottom