はじめに
このブログには広告リンクが含まれています
デジタルトランスフォーメーションDXが重要視されている昨今、
毎回同じ仕様のルーティンになっているExcelの作業を自動化したいな
マクロが入っていても、何回もポチポチやるのめんどい。。。
リモコン操作みたいに一回ボタンを押しただけで作業が終わればいいのに
って考えている人もいらっしゃると思います。
そんな時、前職で実際に使用してみて一番役に立ったExcelマクロの機能(詳細コードは除く)を紹介させていただきますので、是非とも参考にしていただければ幸いです。
結論:複数のマクロが入っている作業ブックAのマクロを自動実行する作業用ブックBを作成し、Bの1回の操作で操作でAを遠隔で自動実行する
要するに、家電をアプリで操作しているIOTみたいな感じです。。。
厳密には違うんですけどね。
別ブックのマクロを実行するマクロというのが存在します。
今回は通常の作業用ブックA(管理番号違いの同仕様10件)のマクロを順番に押下していくと10件あたり30分かかる作業が、別の作業用ブックBを用意してBのボタンを一回押下するだけでAの作業を10件当たり6分(1件約36秒)に短縮できたというノウハウをお伝えします。
会社情報になるので、実際のスクリーンショットはお見せできませんのでご了承ください。
各導入機能
導入に関して気を付けること
1.法令、コンプライアンス、社内ルール、倫理観を順守する
2.メッセージボックスが出現した時の処理
そこで、メッセージが表示される部分だけプログラムの実行を遮断するという方法があります。
Excel VBAで、該当マクロを実行したときに表示されるメッセージを遮断する方法
結論:作業ブックBから作業ブックAの該当マクロのプログラムコードにアクセスし、”Msgbox”の文字列がある行数を特定して、先頭に”’”(シングルクォーテーション)の文字列を追加するプログラムを追加する。
やってることは、合法的に既存の別ブックのプラグラム構文を一部変更して、メッセージの表示される部分だけ遮断するという方法です。
このプログラムを実行するには、[セキュリティ センター] をクリックし、[セキュリティ センターの設定] をクリックします。 [マクロの設定] をクリックし、[VBA プロジェクト オブジェクト モデルへのアクセスを信頼する] チェック ボックスをオンにし、[OK] をクリックします。
もちろん後ほどそのプログラムを繰り返し、元の状態に戻すこともできますが、作業ブックAが使い捨ての場合は時短のために”’”を付けたままでもよいでしょう。
この時に気を付けなければならないのはそのメッセージが表示されないことで、プログラムに悪影響があるかを事前にチェックしておくことです。
”空欄を詰めました(OK)”このようなメッセージならば、遮断しても問題ないと思います。
”印刷しますか?(はい・いいえ)”このようなメッセージが表示された場合メッセージを遮断すると、”いいえ”の処理になるので、影響が出ると言えます。
また、エラーが出た際にメッセージが表示される仕様だった場合、メッセージを遮断してしまうと何が起きているかわからない、エラー処理がなされない、またはプログラムが次に進まないといった不具合が起きてしまう可能性があります。
このような場合は、作業ブックAのエラー処理と同様のコードを作業ブックBで記述して整合性を保ち、きちんとエラー処理とその内容がわかるようにしておきましょう。
また、プログラムコードの描き方次第ではアクティブシートが変わってしまう可能性があるので、別ブックから操作できるように正しく参照先を指定しておきましょう。
また、特定の条件で次のプログラムに進めない場合はAをセーブせずに閉じる処理をして、次のファイルに進むなど、対策を考えましょう。
このように、作業ブックA(管理番号が違うけど同じ仕様のツール)は作業ブックBにファイル名を一覧に表示することによって、作業ブックBで繰り返し処理を導入するだけで、ワンボタンで作業が終わります。
Aのメッセージが出現するプログラムを遮断→BでAのマクロを遠隔で順番に実行(エラー処理も含む)→Bにステータス(成功orエラー内容)を記述して次のファイルに進む
こうすることでAを一切開かずに管理番号違いの件数分のAの作業をBから完了することができます。
まとめ
一般的には株式会社では株主に利益を還元するため、目的のためには最短ルートの選択して業務を効率化することが必要です。今回私が紹介した方法は、同じ規則性の作業を繰り返しやるということが前提でしたが、目的達成に必要ないならば思い切ってその仕事はしないというのもあくまで一つの選択肢であることを念頭に入れ、最短で最大の成果を出せるように努めていきましょう。
【PR広告】