Soru Application.Calculate bitene kadar bekleyin


Vba komut dosyasını Application.Calculate tüm formülleri yeniden hesaplamayı bitirinceye kadar beklemeye zorlayabilir miyim?


21
2018-06-30 19:30


Menşei


Eklemek DoEvents sonra Application.Calculate - Siddharth Rout


Cevaplar:


Benim yorumlarıma ek olarak, DoEvent'leri Application.CalculationState. Bu örneğe bakın

Application.Calculate
If Not Application.CalculationState = xlDone Then
    DoEvents
End If
'~~> Rest of the code.

İsterseniz bir de kullanabilirsiniz Do While Loop kontrol etmek Application.CalculationState

Bu bağlantıyı da görmenizi öneririz.

konu: Application.CalculationState Özelliği

bağlantı: http://msdn.microsoft.com/en-us/library/bb220901%28v=office.12%29.aspx

Yukarıdaki Bağlantıdan Alıntı

Microsoft Excel'de gerçekleştirilen tüm hesaplamalar için uygulamanın hesaplama durumunu gösteren bir XlCalculationState sabiti döndürür. Sadece oku.


29
2018-06-30 19:48



+1 güzel cevap Sid. - brettdj
Tam olarak bu nokta oldu, teşekkürler! - Sebastian Müller
Bu örnek kodun internette yaygın olarak sunulduğuna, ancak işe yaramadığına dayandırdım. DoEvents'ler değil Hesaplama tamamlanana kadar bloklayın ve örnek kodunuzda etkin olmayan bir işlemdir. - user65


Bir hesaplama döngüsünün kısmen kilitlendiği bir sorunu çözmek için kodu kullandım. Bir sonraki değer kümesini girmeden önce hesaplamanın tam olarak tamamlanmasına kadar beklemesinin gerekli olabileceğini düşündüm. Application.Calculate kodunu eklediğimde sorun çözüldü. Döngü şimdi tamamlamaya çalışır.


0
2017-07-22 20:32