|
>ご提示のコードでも同じ状況になってしまいました
提示コードに Private Sub CommandButton2_Click() を加えた場合ですね?
その時、Activateイベントが終ってないのでしょうね。
>i を、外出しで希望に操作がかないました
のであればそれで構わないと思います。
または、こんな対応でも。
'-------------------------------------------------
'UserForm1
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private tm_continue As Long '●
Private Sub CommandButton1_Click()
tm_continue = 1
End Sub
Private Sub CommandButton2_Click()
tm_continue = -1
End Sub
Private Sub UserForm_Activate()
Dim i As Integer
Me.Repaint
For i = 30 To 0 Step -1
Me.Label1.Caption = i
DoEvents
If tm_continue <> 0 Then Exit For
Sleep 1000
Next
Unload Me
If tm_continue > 0 Then
setTime = Now + TimeValue(interval)
Application.OnTime setTime, "TimeCheck"
Else
MsgBox "close" 'Close処理
End If
End Sub
#また、ThisWorkbookのWorkbook_BeforeCloseで
On Error Resume Next '抜けてました m(_ _)m
Application.OnTime setTime, "TimeCheck", , False
|
|