|
こんばんわ、以下のようなケース1~2を作り検証したところ、以下のような違いが出ました。
ケース1: 空白
結果、予想通り描画されタイマーも動作する。
ケース2: RngScore = ScoreT
描画がされず、タイマーも正常に機能しない。
Option Explicit
Declare Function GetTickCount Lib "kernel32" () As Long
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub kakunin2()
Dim RngScore As Range
Set RngScore = Worksheets("確認2").Range("C3:F3")
RngScore = 0
Dim ScoreT As Variant
Set ScoreT = RngScore
Dim StartTime As Long
StartTime = GetTickCount
Dim WaitTime As Long
WaitTime = Range("A1")
Dim start As Long
Do
start = GetTickCount
Do Until 1000 <= (GetTickCount - start)
Sleep 1000
Loop
DoEvents
ScoreT(1, 2) = WaitTime - (GetTickCount - StartTime)
ScoreT(1, 1) = 0
ScoreT(1, 3) = 0
ScoreT(1, 4) = 0
"ケース1~2"
If ScoreT(1, 2) < 0 Then
Exit Do
End If
Loop
End Sub
ケース2で動作がうまくいかないのはなぜでしょうか。
質問に答えていただけると助かります。
以上、よろしくお願いいたします。
|
|