2014-02-12 27 views
-1

我有以下的代碼,什麼我嘗試做的基本上是收集數據和定位開始從A1高達A100數據來自細胞M4的單元格數據這個特定的細胞是動態的,是不斷改變它的價值,是從DDE 拉數據的代碼工作,但由於某種原因,它需要第一個值,並不會更新,因爲M4正在改變。Vb的Excel的循環更新不及時

任何想法?

Sub looptest() 

Dim loop_ctr As Integer 

For loop_ctr = 1 To 100 

ActiveSheet.Range("A" & loop_ctr).Value = Worksheets("sheet1").Range("M4") 

Application.Wait (Now + TimeValue("0:00:01")) 

Next loop_ctr 

MsgBox " Done! " 

End Sub 
+0

'M4'的值如何變化?你確定M4的價值實際上在變化嗎? – ARich

+0

當我讀取循環時,循環「A1」到「A100」,並將這些單元格的值更改爲等於「M4」的值。也許每當'M4'改變時,你都可以從工作表更改事件中調用它。但是這可能會導致一些問題。另外,我不明白是否需要「等待」命令,你能解釋一下嗎? – guitarthrower

+0

運行期間,您的宏將評估「M4」的當前值,而不是其更新時的值。所以這是行不通的。是的,您可以設置一個事件,當'M4'中的值更新爲@guitarthrower所提及的值時,將觸發該事件。 – L42

回答

0

Application.Wait ...線嘗試添加:

DoEvents 

書面,你的代碼不公開Excel以任何其它系統事件,像你的DDE,以更新整體100秒Excel應用程序循環的執行時間。