Tăng tốc độ hiển thị cho giá trị của Stopwatch

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Vo Duy Minh

Thành viên hoạt động
Tham gia
21/3/19
Bài viết
113
Được thích
32
Chào các bạn,
Một lần nữa, tôi mong nhận được sự hỗ trợ của các bạn.
Tôi nhặt nhạnh được code cho hiển thị thời gian của đồng hồ bấm giờ (stopwatch) như trong file đính kèm. Tuy nhiên với file nhỏ như file đính kèm thì việc hiển thị giá trị trong ô C5 rất đẹp và mượt mà nhưng với file lớn thì tốc độ hiển thị không còn mượt nữa (dù kết quả vẫn chính xác). Cụ thể là giá trị trong ô C5 nhảy hơi giật cục, có khi hơn một giây mới nhảy sang số mới.
Tôi mong các bạn quan tâm và giúp code sao cho việc hiển thị giá trị không còn giật cục khi áp dụng vào file có dung lượng lớn (file của tôi đến hơn 40Mb).
Xin được cám ơn các bạn trước và mong nhận được sự quan tâm của các bạn.
 

File đính kèm

  • VBA Stopwatch.xlsm
    27.8 KB · Đọc: 9
Chào các bạn,
Một lần nữa, tôi mong nhận được sự hỗ trợ của các bạn.
Tôi nhặt nhạnh được code cho hiển thị thời gian của đồng hồ bấm giờ (stopwatch) như trong file đính kèm. Tuy nhiên với file nhỏ như file đính kèm thì việc hiển thị giá trị trong ô C5 rất đẹp và mượt mà nhưng với file lớn thì tốc độ hiển thị không còn mượt nữa (dù kết quả vẫn chính xác). Cụ thể là giá trị trong ô C5 nhảy hơi giật cục, có khi hơn một giây mới nhảy sang số mới.
Tôi mong các bạn quan tâm và giúp code sao cho việc hiển thị giá trị không còn giật cục khi áp dụng vào file có dung lượng lớn (file của tôi đến hơn 40Mb).
Xin được cám ơn các bạn trước và mong nhận được sự quan tâm của các bạn.
Anh thử thêm hai dòng như dưới đây cho các code xem thế nào.
Mã:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Nội dung code
................. 
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Cám ơn anh Hoàng Tuấn đã quan tâm.
Tôi đã thử với cái Application này rồi nhưng không được. Vì ScreenUpdating mà False thì nó sẽ chẳng thấy cái gì nữa, chỉ còn chờ bấm Stop là hiện ra thôi.
Thật sự thì cũng chẳng quan trọng lắm, nhưng thấy với file nhỏ mà nó chạy mượt mà thì cũng thích. Với lại, Stopwatch mà chạy giật cục thì cũng không ... pro cho lắm.
Rất cám ơn anh đã quan tâm.
 
Upvote 0
Cám ơn anh Hoàng Tuấn đã quan tâm.
Tôi đã thử với cái Application này rồi nhưng không được. Vì ScreenUpdating mà False thì nó sẽ chẳng thấy cái gì nữa, chỉ còn chờ bấm Stop là hiện ra thôi.
Thật sự thì cũng chẳng quan trọng lắm, nhưng thấy với file nhỏ mà nó chạy mượt mà thì cũng thích. Với lại, Stopwatch mà chạy giật cục thì cũng không ... pro cho lắm.
Rất cám ơn anh đã quan tâm.
Anh bỏ hai dòng đó ở Private Sub CommandButton1_Click()
Chỉ để ở Private Sub CommandButton2_Click() và Private Sub CommandButton3_Click() xem có được không ạ.
 
Upvote 0
Tôi đã thử theo đề nghị của anh và ... cũng chẳng ăn thua gì.
Thời gian hiển thị cứ nhẩy giật cục khoảng gần 0.80 (80 %giây) mỗi lần. Trong khi anh có thể thấy trong file tôi đính kèm thì hai số sau cùng chỉ phần trăm giây thì chạy liên tục. Dù sao thì khi bấm Stop thì thời gian hiển thị rất chính xác.
Một lần nữa, tôi rất cám ơn anh đã quan tâm.
 
Upvote 0
Tôi đã thử theo đề nghị của anh và ... cũng chẳng ăn thua gì.
Thời gian hiển thị cứ nhẩy giật cục khoảng gần 0.80 (80 %giây) mỗi lần. Trong khi anh có thể thấy trong file tôi đính kèm thì hai số sau cùng chỉ phần trăm giây thì chạy liên tục. Dù sao thì khi bấm Stop thì thời gian hiển thị rất chính xác.
Một lần nữa, tôi rất cám ơn anh đã quan tâm.
Em cũng chưa nghĩ thêm được cách nào hiệu quả hơn, anh chờ xem các thành viên khác có cách nào hay hơn không nhé.
 
Upvote 0
Vâng, cám ơn anh rất nhiều.
Có thể tốc độ chậm là do để hiển thị thời gian thì format của cell là Text.
Chúc anh ngủ ngon.
 
Upvote 0
Tôi nghĩ rằng file lớn thì code chạy giật cục là đương nhiên, không thể làm gì khác.
 
Upvote 0
Liệu như này có khả quan hơn không các bác ạ?
 

File đính kèm

  • 1685631582676.png
    1685631582676.png
    13.9 KB · Đọc: 17
Upvote 0
Cám ơn các bạn đã quan tâm đến vấn đề của tôi.
Với gợi ý của bạn "canti", tôi dùng
Application.Calculation = xlCalculationManual

Application.Calculation = xlCalculationAutomatic
thì thấy rất khả quan, hiển thị hoàn toàn không còn giật cục như trước.
Một lần nữa, cám ơn các bạn đã quan tâm.
Chúc các bạn một ngày làm việc vui vẻ và hiệu quả.
 
Upvote 0
Web KT

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

Back
Top Bottom