2014-10-18 136 views
1

我已經運行VBA下面的程序Excel 2010的32位計算機:休眠功能錯誤453

聲明子睡眠庫 「KERNEL32」(BYVAL dwmilliseconds長)

子游戲()

I = 0

i = i + 1 

Cells(i, 1).Interior.Color = RGB(100, 0, 0) 
sleep 500 

循環,直到我> 10

末次

但是,運行後,它讓我看到以下錯誤:

「無法找到KERNEL32 DLL入口點睡眠」

有人可以告訴我接下來應該怎麼做,以消除錯誤?

感謝您的努力。

+1

在睡眠中嘗試大寫「S」 – transistor1 2014-10-18 20:20:28

回答

1

而是睡眠500的,你可能要使用:

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

+ 1 Application.Wait是另一個不錯的選擇 – 2014-10-18 22:33:12

0

@Transistor是正確的。你必須使用大寫字母「S」。所有API聲明都區分大小寫。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 

的替代Sleep是使用我創造了幾年前,我仍然使用它的功能Wait

Sub Sample() 
    i = 0 
    Do 
     i = i + 1 
     Cells(i, 1).Interior.Color = RGB(100, 0, 0) 
     Wait 1 
    Loop Until i > 10 
End Sub 

Private Sub Wait(ByVal nSec As Long) 
    nSec = nSec + Timer 
    While nSec > Timer 
     DoEvents 
    Wend 
End Sub