Cách làm tăng tốc độ chạy macro với vòng lặp?

  • Thread starter Thread starter Verona
  • Ngày gửi Ngày gửi
Liên hệ QC

Verona

Thành viên mới
Tham gia
26/9/07
Bài viết
9
Được thích
1
Mình có một bài toán thế này
Đầu tiên mình phải gán N = A
Sau đó tính ra M = N*B*C nếu M >L thì phài giảm N
Nên mình dùng

Do
N = A-0.01
Call M
Loop until M = N

Tuy nhiên nếu N nhỏ thì không sao, nếu N lớn thì chương trình chạy rất chậm vì bước nhảy 0.01 qúa nhỏ. Các bạn có thể giúp mình thuật toán nào tối ưu hơn không?

Xin cảm ơn
 
Có thể cho xem qua file để biết bạn đang muốn làm gì được không? Nhiều khi có thể thay đổi thuật toán khác (nếu như biết được ý định của bạn)
 
Upvote 0
Mình có một bài toán thế này: Đầu tiên mình phải gán N = A
Sau đó tính ra M = N*B*C nếu M >L thì phài giảm N ; Nên mình dùng
Mã:
Do
  N = A-0.01
  Call M
Loop until M = N
Tuy nhiên nếu N nhỏ thì không sao, nếu N lớn thì chương trình chạy rất chậm vì bước nhảy 0.01 qúa nhỏ. Các bạn có thể giúp mình thuật toán nào tối ưu hơn không? Xin cảm ơn [/quote]
Bạn hãy dùng các bước nhãy khác nhau:
Mã:
Do
    N = A - [B][SIZE=4]1[/SIZE][/B]:          Call Mmm 
    If N > M Then Exit Do
Loop 
Do
    N = A + [B][SIZE=4].1[/SIZE][/B]:          Call Mmm 
    If N < M Then Exit Do
Loop 
. . . .
Hãy cố tình chạy quá đi, xong quay lại!!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT

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

Back
Top Bottom