|
▼Mari さん:
こんばんは。
>ユーザフォームを使い、秒単位のカウントアップ(2種)とカウントダウンの
>コードを書きました。
>一応動作はするのです・・・最終の秒のカウント数字がでるのですが・・・
>経過状態(秒単位のカウントアップやダウンの動き)は、コマンドボタンを2回目のときに正常に働きます。
>コマンドボタンを1回押したときから、カウントの表示をさせるには、どの部分の
>コードを訂正したらよいのかアドバイスお願いします。
まず、Mari さんのご質問を見ている人が問題の現象をそれぞれの方の所有する
パソコンで再現するためには、どのようなフォームを作成し、
どのような手順で動作させればよいかを
時系列に箇条書きにすることを習慣付けることをお奨めします。
そうしないと回答者は仕様がはっきりしないコードを
解析することになってしまいます。
>
>Private Sub CommandButton1_Click() 'カウントアップ1
> For i = 1 To 5 Step 1
> If Application.Wait(Now + TimeValue("00:00:" & 1)) Then
> TextBox1 = TimeValue("00:00:" & i)
> End If
> Next
>End Sub
>
>'******************
>Private Sub CommandButton2_Click() 'カウントアップ2
> For i = 0 To 5 Step 1
> TextBox1 = TimeValue("00:00:" & i)
doevents
> Application.Wait Now + TimeValue("00:00:01")
> Next
>End Sub
>
>'****************
>Private Sub CommandButton3_Click() 'カウントダウン
> Dim i As Integer
> For i = 10 To 0 Step -2
> TextBox1.Value = TimeValue("00:00:" & i)
doevents
> Application.Wait Now + TimeValue("00:00:02")
> Next
>End Sub
というようにDoeventsを入れてみてください。
|
|