ユーザーフォームに時計をつけてみる

ユーザーフォームに時計をつけてみる

今回はExcel VBAのユーザーフォーム上に時計を付けてみようと思います。あまり必要ないかもしれませんが暇つぶしにでもご覧ください。

作成イメージ

今回はこのように秒まで表示して動く時計を作成したいと思います。

 

時計を作成してみる

まず時計を作成するにあたり、今回用意するものは

  • UserForm
  • Label

この二つだけです。下記のコードをコピーしてももらえればすぐ使えます。

下で解説をしますので理屈を知りたい方引き続きご覧下さい。

 

コードの解説

まず時計は随時動いていなければいけません

ですのでUserForm上のイベントは【Activate】にしておかなければいけません。

 

続いて変数の宣言ですが、変数の宣言の型は【String】で宣言します【Variant】でも構いません。

ここからが処理のお話になります。

今回の処理は【Do …Loop】を使用して条件を指定します。指定する条件は【UserForms.Count > 0】UserForms.Countはフォームを開いている数を返します。なので今回は【1】を返してきます。

While は条件が正しい間繰り返す条件ですのでUserFormが一つでも開いている場合繰り返すという処理です。

データの書式を整える【Format関数】と現時点の時間を返す【Time関数】を使用して表示するデータを整形していきます。

Label1.Captionでラベルにデータを表示します。

DoEventsは処理の途中にOSに制御を移す関数です、この関数を使わない場合うまく処理できなくなってしまうので必ず使用してください。

ブログの購読・ブログランキング

 

【E-VBA】の更新通知を受け取る場合はこちら↓


【E-VBA】はブログランキングに登録しています(∩´∀`)∩

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

人気ブログランキングへ

ファイルやコードの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

あることがキッカケでVBAを独学で勉強している、非IT企業の会社員。 今はVBAで出来ることを模索しながら別の開発言語の取得、基本情報技術者試験合格が目標