So sánh tốc độ code và công thức

Liên hệ QC

adult

Thành viên hoạt động
Tham gia
2/12/07
Bài viết
193
Được thích
30
CÁc anh chị vui lòng cho em hỏi, nếu những bài toàn mình có thể lập công thức trên sheet thì sẽ nhanh or chậm hơn so với mình dùng code VBA? Có công cụ nào test điều trên không ạh
xin chân thành cám ơn
 
Mỗi khi giá trị trong 1 ô thay đổi thì tất cả các ô có công thức liên kết đến ô đó (Gián tiếp hoặc trực tiếp) đều được tính toán lại. Sử dụng VBA thì chỉ tính toán khi ta "ấn nút". Từ đó bạn sẽ so sánh.
 
Upvote 0
CÁc anh chị vui lòng cho em hỏi, nếu những bài toàn mình có thể lập công thức trên sheet thì sẽ nhanh or chậm hơn so với mình dùng code VBA? Có công cụ nào test điều trên không ạh
xin chân thành cám ơn

Nếu so sánh Worksheet Function (WF) và VBA Function (UDF) thì WF có phần nhanh hơn nhiều, vì chúng được viết trong C và biên dịch dạng mã máy cùng với các kỹ thuật tối ưu mà các chuyên gia MS đã làm.

Nếu viết lệnh VBA để tính cho cả một bảng kết quả thì VBA sẽ nhanh hơn nhiều so với việc lập công thức cho từng ô của cả bảng dữ liệu (có m x n = ô). Một ví dụ như anh Chibi nói, lập công thức trên worksheet, các công thức có liên kết sẽ tính lại nếu ít nhất một phần tử trong chúng thay đổi->tốc độ chậm. Trong trường hợp này, VBA có những lệnh chặn việc đó.

Vấn đề nhanh hay chậm trong VBA hay WF lại còn phụ thuộc vào thuật toán và kỹ thuật dùng lệnh VB & kỹ thuật lập công thức nữa. Như giải toán, có nhiều cách giải để ra một kết quả, nhưng tốc độ của chúng là khác nhau!
 
Upvote 0
CÁc anh chị vui lòng cho em hỏi, có công cụ nào test điều trên không ạh
Theo mình biết thì trong VBA có thể đo đếm tới phần vạn gy; Còn trong khi công thức đang tính lại thì chỉ nhìn trên thanh trạng thái, số phần trăm công việc hiện ra ở đó thì phải. Và bạn cứ liếc dồng hồ trên máy tính hay đồng hồ của bạn (Nếu nó dễ nhìn hơn trên màn hình máy tính). Khi đó bạn có thể nối dài công viếc của máy ra! Để làm chi zậy? Để chính xác hơn về đo đếm í mà.
Lúc đó tiện bề so sánh giữa cái này với cái kia.
Các bạn trên đã nêu: tùy thuộc nhiều vô cách bố trí dữ liệu, thuật giải, . . . mà tốc độ sẽ có thể rất khác nhau.
Nếu chưa thỏa đáng với các câu trả lời, chúng ta sẽ phải xét thêm trong một vài trường hợp cụ thể nào đó do bạn đưa lên.

Chúc vui!
 
Upvote 0
CÁc anh chị vui lòng cho em hỏi, nếu những bài toàn mình có thể lập công thức trên sheet thì sẽ nhanh or chậm hơn so với mình dùng code VBA? Có công cụ nào test điều trên không ạh
xin chân thành cám ơn
Không thể so sánh vậy được bạn ơi! Tùy chuyện thôi... Cũng giống như xe ô tô thì nhanh hơn xe đạp leo núi khi cùng chạy trên đường nhựa, còn như chạy lên núi thì...
Dám bảo đảm với bạn rằng không ai dám khẳng định điều này!
Tóm lại là tùy vào từng trường hợp cụ thể (bạn có thể thí nghiệm)
 
Upvote 0
Đây là vấn đề không chỉ trên diễn đàn chúng ta đề cập đến, mà các diễn đàn khác cũng nói về vấn đề này. Thật sự vấn đề tính xem tốc độ thực hiện của một đoạn lệnh tôi đã có giới thiệu một công cụ trong VEC. Còn về tính tốc độ của công thức thì thật là khó.

Lê Văn Duyệt
 
Upvote 0
Web KT
Back
Top Bottom