TH69です。
今回はエクセルのマクロねたですので、興味のない方は読み飛ばして下さい。 エクセルのマクロにはそれぞれ「マクロショートカット」が設定でき、通常は「Ctrl」キー + 「英文字」キーを設定します。「Ctrl」キーと「登録したキー」を同時押しすると、マウスや他の操作なしにマクロの実行が可能になる便利な機能です。ただ「s」や「v」などは、それぞれエクセル自体のショートカットとして登録されているため、マクロショートカットにはあまり登録しません。となると登録できるキーはかなり限られてくるわけで、当然複数のブックで同じマクロショートカットを設定しまうことが発生します。 そのときに問題になるのが、マクロショートカットでは「複数開いたブックのアクティブでないブックのマクロも実行されてしまう」と言うとんでもない動作なのです。具体的に言うと、マクロを実行したいブックしか開いていない場合やマクロボタンで実行する場合は問題ありませんが、同じマクロショートカットを登録したブックが複数開いていると、マクロを実行したいブック(アクティブブック)ではない裏で開いているブックのマクロが意図せずアクティブブックで実行されてしまう事がある、と言うことです。 これは本当にとんでもないことで、マクロを実行したかったブックの内容が全て書き換えられて上書き保存して終了、などという本来あってはならない事態も発生する可能性があります。私もこれで何度か痛い目にあいましたが(常にバックアップは取っているので、被害は最小限でしたが…)、マクロに以下のコードを入れることにより発生を防止することができるようになりました。 【コード例】 Sub マクロショートカット競合対策() If ActiveWorkbook.Name = ThisWorkbook.Name Then (やりたい処理) Else MsgBox "ご利用のマクロは他のファイルと競合しています", vbInformation End If End Sub VBAのコード的には簡単なIF文なのですが、 もし、アクティブブックの名前がこのブック(マクロを実行しているブック)の名前と同じなら (やりたい処理)を実行 そうでなければ 「ご利用のマクロは他のファイルと競合しています」というメッセージボックスを表示して マクロを終了します。 誰かの役に立てば嬉しく思います。(=^_^=) にほんブログ村 米国株
by th1252
| 2018-03-31 12:40
|
Trackback
|
Comments(0)
|
カテゴリ
メモ帳
以前の記事
2024年 01月 2023年 12月 2023年 11月 2023年 10月 2023年 09月 2023年 08月 2023年 07月 2023年 06月 2023年 05月 2023年 04月 2023年 02月 2023年 01月 2022年 12月 2022年 11月 2022年 10月 2022年 09月 2022年 08月 2022年 07月 2022年 05月 2022年 04月 2022年 03月 2022年 02月 2022年 01月 2021年 12月 2021年 11月 2021年 10月 2021年 09月 2021年 08月 2021年 07月 2021年 06月 2021年 05月 2021年 04月 2021年 03月 2021年 02月 2021年 01月 2020年 12月 2020年 11月 2020年 10月 2020年 09月 2020年 08月 2020年 07月 2020年 06月 2020年 05月 2020年 04月 2020年 03月 2020年 02月 2020年 01月 2019年 12月 2019年 10月 2019年 09月 2019年 08月 2019年 07月 2019年 06月 2019年 05月 2019年 04月 2019年 03月 2019年 02月 2019年 01月 2018年 12月 2018年 11月 2018年 10月 2018年 09月 2018年 08月 2018年 07月 2018年 06月 2018年 05月 2018年 04月 2018年 03月 2018年 02月 2018年 01月 2017年 12月 最新のコメント
最新のトラックバック
検索
タグ
最新の記事
外部リンク
記事ランキング
|
ファン申請 |
||