Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6722 / 13644 ツリー ←次へ | 前へ→

【43526】秒のカウントアップとカウントダウン Mari 06/10/18(水) 19:11 質問[未読]
【43529】Re:秒のカウントアップとカウントダウン ichinose 06/10/18(水) 19:35 発言[未読]
【43530】Re:秒のカウントアップとカウントダウン Mari 06/10/18(水) 19:54 お礼[未読]

【43526】秒のカウントアップとカウントダウン
質問  Mari  - 06/10/18(水) 19:11 -

引用なし
パスワード
   ユーザフォームを使い、秒単位のカウントアップ(2種)とカウントダウンの
コードを書きました。
一応動作はするのです・・・最終の秒のカウント数字がでるのですが・・・
経過状態(秒単位のカウントアップやダウンの動き)は、コマンドボタンを2回目のときに正常に働きます。
コマンドボタンを1回押したときから、カウントの表示をさせるには、どの部分の
コードを訂正したらよいのかアドバイスお願いします。

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)
  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)
  Application.Wait Now + TimeValue("00:00:02")
 Next
End Sub

【43529】Re:秒のカウントアップとカウントダウン
発言  ichinose  - 06/10/18(水) 19:35 -

引用なし
パスワード
   ▼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を入れてみてください。

【43530】Re:秒のカウントアップとカウントダウン
お礼  Mari  - 06/10/18(水) 19:54 -

引用なし
パスワード
   ▼ichinose さん:

>まず、Mari さんのご質問を見ている人が問題の現象をそれぞれの方の所有する
>パソコンで再現するためには、どのようなフォームを作成し、
>どのような手順で動作させればよいかを
>時系列に箇条書きにすることを習慣付けることをお奨めします。

失礼しました。次回から質問をさせていただく時には、貴兄の
ご忠告を明示するようにします。

>そうしないと回答者は仕様がはっきりしないコードを
>解析することになってしまいます。

そうですね、ご迷惑をおかけしました。

お蔭様ですんなりと動作しました。
ありがとうございました。

6722 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free