2014-10-18 4 views
1

Я запустить следующую программу на VBA Excel 2010 32 разрядный компьютер:сна ошибка функции 453

Declare Sub сна Lib "kernel32" (ByVal dwmilliseconds As Long)

Sub игры()

я = 0

ли

i = i + 1 

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

Loop До я> 10

End Sub

Но, после запуска, он показывает мне следующее сообщение об ошибке:

"Не удается найти DLL сна точки входа в kernel32"

Может кто-нибудь, пожалуйста, скажите мне, что мне следует сделать, чтобы удалить ошибку?

Спасибо за внимание.

+1

Попробуйте капитал «S» во сне – transistor1

ответ

1

Вместо сна 500 вы можете использовать:

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

+ 1 «Application.Wait» - еще один хороший вариант –

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 
Смежные вопросы