【ExcelVBA】プログレスバーを自作する使い方が分かる動画付

VBAはフォームの機能でプログレスバーを作る事が出来る

私個人でVBAを教えています。初心者様から中級者様向けです。

生徒の皆様と話をさせていただきますとプログレスバーに興味を持たれている方が多い様です。

この話は「ユーザーフォームに興味がある」という話題に紐付いている事が多いです。

フォームで検索や照会機能を構築する際待ち時間用にプログレスバーを・・・という流れです。

この件について私は驚きがありました。

EnjoyExcel
EnjoyExcel

VBAでこの機能が用意出来る事を皆さんが知っている事に「なんで?」と思ってしまいました。

最近はネット環境や書籍が充実しているのでどこかで目にすることがあるのかもしれません。

加えて動的な機能というのは印象に残りますので一度見ると記憶に定着し易いです。

初心者の皆様でもプログレスバーを知っている人が多くて驚きました。

EnjoyExcel
EnjoyExcel

以上のような事から「需要はありそうだ」という事は分かりました。

よって解説記事を用意しました。

記事について

本記事はプログレスバーの紹介記事です。

プログレスバーを用意する為のコードと解説は以下関連記事の中に用意しています

プログレスバーのコードを知りたい方

ボタンで記事内リンクに進みます。

\コード&解説記事へお進みください/

プログレスバーについて知りたい方

引き続きプログレスバーについて解説していきます。記事を読み進めてください。

今回の画像は盆の時期ですので夏をイメージしてみました。ちなみにうちの奥さん4姉弟でして姉、兄、兄、妻です。合わせて作ってみました。

プログレスバーはユーザーフォームです

プログレスバーは ユーザーフォームの中の1機能(コントロール)です。

勉強する事でユーザーフォームに触れていただく事が出来ます。

需要もある様ですしユーザーフォームを勉強する事にもなる。

これは両得な感じがしてきましたね。良い機会ですので記事を書いてみようと思います。

次回記事でコードを用意します。今回はプログレスバーがどんなものなのかを紹介する記事です。

改めてプログレスバーを紹介

プログレスバーと聞いて名前と機能が一致しない方も居るかと思います。

動画をご覧ください。ほとんどの方は何らかの形で同じ様な機能を見た事あると思います。

参考

よくご質問いただくのですが画像は私ではないです。フリー画像の人です。

先程も少し紹介しましたがプログレスバーはユーザーフォームの中の1機能(コントロール)です。

40代以上の方であれば・・・「欽ちゃんの仮装大賞」で御馴染みの機能です。

30代から若手に向けて例を提示するとゲームですね。かなり頻繁に使われています。

ダメージやポイントの蓄積をプログレスバーで表現し貯まったら必殺技・・・という使われ方です。

今までとは勉強の質が違います

次の記事からはユーザーフォームを勉強する事になります。

今までの様にコードだけ紹介するわけにはいかず以下内容についても合わせて説明させていただきます。

新たに勉強していただく内容です
  • フォームの作り方
  • コードを書く場所
  • コードの書き方

今までやった事のない上記の様な作業をすることになります。

1つ1つ紹介していきますのでお付き合いください。

さらにこんなことも出来る

プログレスバーを用意するというだけでも色々使い道が広がるのですが今回はもう1つ勉強していただきます。

一度実行したコードを中断させるという機能も実装しています。こちらも動画をご覧ください。

実行中のマクロを止めています。

「なんかすごい事ある?」と感じてしまうかもしれませんがこれは「すごい事」です。

マクロは一度実行すると End Sub まで処理が走ってしまいます。

基本的に途中で止める事は出来ません。

という事は何らかの不具合があったとしてもやはりマクロは止まりません。

こんな事ありませんか?

・コードで書いた処理が重すぎて進んでいるのか止まったのか分からない時
・自分で無限ループのコードを組んでしまった時(ずっとループ)
・とにかく何が起きたか分からないけどカーソルぐるぐるが終わらない時

こんな状況の時は実行しているマクロを止めたいのです。

しかし基本は止まりませんのでCtrl+Alt+Deleteで再起動となってしまいます。

マクロに慣れない頃は作ったコードで実行テストをする前には保存を忘れない」様にしていました。

上記のような事が起きても諦める事が出来る様にという意味で保存を言い聞かせていた次第です。

再起動の頻発は色々面倒な事が起きます。

マクロを実行している最中に処理を止めて作業を抜けるという機能があれば面倒な作業が減ります。

おそらく全部は無理ですが程度によっては上記不具合から抜け出せる確率がグッと上がります

メリット、デメリット

ここで改めてプログレスバーについて勉強する事に対するメリット、デメリットを提示します。

まずはメリットです。

  • プログレスバーを自力で用意する事が出来る
  • ユーザーフォームを勉強する事が出来る
  • 処理を途中で抜ける処理、コードを勉強する事が出来る

3点目が非常に大きいです。続いてデメリットです。

  • ユーザーフォームまでは考えてない(面倒な感じがする)
  • 待ちが長いような作業ならそもそも待ち時間を減らす事を考える

2つめなんて何も言い返せませんね。まさに「ごもっとも」といったところです。

しかし現状ではどうしても処理を高速化出来ないけどフォームで運用可能かもというステップがあります。

そんな時はプログレスバーを使ってみましょう。何か解決策が見えるかもしれません。

ただしプログレスバーを使う事で本来片付けないといけない案件を見逃さない様にしましょう。

事例

メリットとデメリットの特徴が良く出ている事例でしたので紹介します。

階層構造のあるフォルダ群から特定のキーワードを持つ画像をエクセルに持ってくるというコードです。

作業時間がかかるコードになったのでプログレスバーを付けています。

最終的にコード自体を変えて作業時間を改善しプログレスバーの必要が無くなった為取り外しています。

まとめ

プログレスバーについてざっと説明してみました。

今回は動画も入れてみましたのでインプットし易かったのではないかと思います。

引き続きプログレスバーにご興味をお持ちの方は次の記事をご覧ください。

コードを掲載させていただきました。加えて解説もしています。

マクロを勉強してみませんか

プログレスバーはインターネットでも情報が掲載されています。

コードも掲載されていますがそのままコピペで使う事が出来るケースは極めて稀な状況です。

使用するにあたってはご自身の仕事に合わせてマクロを加工する必要があります。

よってある程度の知識が無いと仕事を効率化する事は難しいです。

私自身で無料の体験講座を受講してきました。

おすすめ出来るコンテンツでしたので紹介させていただきます。

独学で悩みながら勉強している方やイチから勉強し直したい方は是非関連記事をご覧ください。

キャンペーン中 こちらでVBA勉強出来ます
\価格を抑えたい方は是非この機会に受講を検討ください/

EnjoyExcel

タイトルとURLをコピーしました