見出し画像

エクセルVBAでタイマー機能を設定する方法【サンプルコードダウンロード可能】

割引あり

エクセルにタイマー機能があればなんて便利なんだろう・・・


このように考えたことありませんか?


勤めていた職場で、

職員全員が操作するエクセルファイルを開きっぱなしで出かけちゃう奴

がいてめちゃくちゃ困っていました。


  • 読み取り専用になって編集できない

  • 誰がエクセルを開きっぱなしにしているかわからない(頻繁すぎて探すのがめんどう)

  • 「あっ、すいませんでしたぁ」で終わるので腹立つ


こんな問題を解決するために

エクセルにタイマー機能を設定して〇〇時間後に××するマクロ

を開発しました。


タイマーVBAの概要がこちら

  • ユーザーフォームのテキストボックスにカウントダウンタイマーを表示

  • 制限時間を自由に設定できる

  • 「タイムアップ後〇〇する」という処理をする


タイマーVBAの開発当初、

エクセルの操作停止後、30分でエクセルを強制的に閉じる!編集した内容は保存しない!!

という内容で作業していたのですが、


上司から「それはさすがに攻めすぎじゃない!!編集したデータが消えちゃうのはまずいよ。」

私「エクセルを閉じない奴が悪いんですよー、みんな迷惑してるんですよーー」


いろんなやりとりをした結果、

エクセルの操作が停止してから30分後に警告音を出す

という内容に変更となりました。


職場全体のことを考えることができるできる上司のおかげで、みんなから評判の良いVBAに仕上げることができた!


私にはこんな寛大な判断できません。。。


本記事では

タイマーVBAの導入方法、使われているコードの解説

を詳しく紹介していきます。


さらに、記事の最後では

カウントダウンタイマーが設定されたエクセルファイルをダウンロード

することが可能。


VBA学習用として設定されているコードを使うもよし!

乗車状況確認エクセルをアレンジしてそのまま使うもよし!!

いろんな活用方法があります。


エクセルにタイマーを設定して〇〇したい!と考えている方は是非参考にしてみてください。


エクセルにタイマー機能を設定するとどんなことができる

「エクセルにタイマー機能を設定する」と

どんなことができるの?どのような効果が得られるの?

イメージがつきにくいという方が多いかと思います。


こんな疑問を解決するために

タイマーVBAが設定された2つのサンプル事例を使って

解説していきます。


ユーザーフォームでカウントダウンタイマーを表示する

ユーザーフォームでカウントダウンタイマーを表示させることで、

制限時間を設けて仕事ができ、タイムアップで〇〇する

という処理ができます。


カウントダウンタイマーVBAの動きがこちら

  • ボタンのクリックでタイマーが表示

  • 制限時間の設定は湯量内のテキストボックスに入力

  • 「ストップ」ボタンでカウントダウンを一時停止できる

  • タイムアップでメッセージが表示される


サンプル事例では、

タイムアップ後にメッセージを表示する内容ですが、「エクセルを保存して閉じる」「アラーム音を鳴らす」など業務内容に応じて処理を変更することが可能

です。


普段タイマーを隠していて、いざというときすぐにタイマーを設定したい!

という場合におすすめ。



乗車状況確認エクセルに導入されたカウントダウンタイマーVBA

幼稚園送迎バスの乗車状況を2重チェックするために開発したVBAで、

ある条件を検知後、設定時間が経過すると警告音を鳴動させる

という内容です。


乗車状況確認VBAの概要がこちら

  • バーコードリーダーの読み取るVBA

  • 「降車済み」検知後、5分後に警告音を鳴動させる

  • 全員が「降車済み」となった場合、カウントダウンタイマーをストップ

  • カウントダウン中に再度「降車済み」を検知した場合、カウントダウンをリセット


乗車した人全員が降車したのかを「警告音」で確認することができます。


このVBAは幼稚園の先生からの依頼で作成したVBAで、先生の要望に合わせて0から開発した完全オリジナルVBAです。


本記事で紹介しているカウントダウンタイマーVBAをアレンジしたもので、

乗車状況確認VBAに設定されたコードはこれから解説する内容に全て網羅されています。


乗車状況確認エクセルちょっと気になるかも。。。

という方は関連記事「カウントダウンタイマーと警告音を鳴らすVBA」でダウンロード可能です。


送迎バスの乗車状況確認作業でお困りの方はチェックしてみてください。


業務内容に合わせてタイマーVBAを設定したい

業務内容に合わせて「カウントダウンタイマーVBA」を導入するには、

自分でVBAを設定する方法VBA開発依頼をする方法

の2パターンあります。


自分でVBAを設定する

業務内容に合わせたVBAを設定する際、以下の手順で作業を進めることをおすすめします。

  1. どのような処理を実現したいのか具体的なイメージを持つ

  2. VBAを書いてみる

  3. 行き詰ったらネットや参考書で問題点を一つ一つ解決していく


1番目の「具体的なイメージを持つ」ことがとても大切。


曖昧なイメージのまま作業を進めてしまうと、

あれ?何がしたいんだっけ?

という感じで頭の中がぐちゃぐちゃになってしまいます。


2番目の「VBAを書いてみる」、3番目の「行き詰ったらネットや参考書で問題点を一つ一つ解決していく」

は手を動かして作業するしかありません。


コードを書いて実行する → 失敗する → 調べる → コードを書き直す → 実行する

を繰り返しやるしかない!


記事の最後で、

セルの値から制限時間を設定するカウントダウンタイマーVBA」と「ボタンクリックでタイマーを表示。制限時間をユーザーフォーム内で設定するVBA

の2つが設定されたエクセルファイルをダウンロードすることが可能。


タイマーVBAに必要なコードが盛りだくさんに設定されているので、

VBAスキルを身に着けたい!という方は是非参考にしてみてください。


VBA開発を依頼する

VBAの開発依頼は

こんな処理をするVBAを設定してほしいー

と伝えるだけで業務内容に合ったVBAをゲットすることができます。


費用は掛かりますが、自分でVBAを設定するよりも簡単に導入できるのでとてもおすすめです。


サンプル事例で紹介した「乗車状況確認エクセル」は

幼稚園の先生からの依頼で作成した完全オリジナルVBA

です。


こんな処理がしたい!制限時間は5分に設定したい!!エクセルを開いた時点でVBAが動作してほしい!!!

先生のイメージをVBAで表現させていただきました。


関連記事「マメBlogのVBA開発サービス」では、

タイマーVBAをあなたの業務内容に合わせて改良するVBA開発サービス

を行っています。


このようなエクセル業務をしていて作業効率をアップさせたい!

こんな感じのザックリとした依頼内容でOK。


VBAの設定は可能かどうか、費用はどれくらいなのか、すぐに回答させていただきます。

お気軽に問い合わせください。


>>> マメBlogのVBA開発依頼はこちら



カウントダウンタイマーVBAの作り方

ここから先は

2,287字 / 6画像 / 2ファイル
この記事のみ ¥ 500〜

この記事が参加している募集

この記事が気に入ったらチップで応援してみませんか?