「コピペでVBA」想定外のシートが変更されてしまったら?
おはようございます。
コピペでVBAを行った際に、あらかじめBook2とBook4を開いていたのですが、Book4上で反映させたかったにもかかわらず、Book2のコード全部がしっかりコピペ内容が反映されちまったというわけです。初めてコピペでVBAを実践される場合はよくある話なのかもしれません。
対象のファイルかどうかをチェックするだけだね
理由:対象のBookに紐づく標準モジュール上で指示(コピペ)をかけなかったから
事前対策:Book名を標準モジュール画面でチェックしておく。
この部分ですね!Book2になっていたんですね、きっと。コード添付がうまくいくかに気を取られてしまい、前に実践したファイルがまだ残っていたんですよきっと。なので、違うファイルが表示されてらーっとなった際には、左側のツリーのところを変更させる必要があります。
こういうのをツリー構造っていうんですね、なので、
ここをもう少し右側に移動すると、ファイル名が表示されるみたいですから、そこの対象VBAProject名の対象Sheet(開いているファイルの中のファイル名と反映させたいシート(複数ある場合は最初のシート)
を、
右クリックし、
標準モジュールを表示させて、そこにコピペすればOKとなりました。
この画面での標準モジュール内で実行してしまうと、Book4でなくBook2に反映されてしまうので、Book4に反映させたければ、
こっち
となるというわけです。
実行したVBA、もう元に戻らない?
こちらはGPT教授による戒め的見解です、てか、有難い助言です。
GPT教授:
マクロによる変更は、実行前の状態に戻すことは困難です。マクロが実行された後、セルの書式や内容が変更されてしまった場合、手動で元の状態に戻す必要があります。
ただし、Excelには「元に戻す」(Undo)機能があります。一連の操作を元に戻すためには、キーボードショートカット「Ctrl + Z」を使用するか、Excelのメニューバーの「元に戻す」アイコンをクリックすることで、直前の操作を取り消すことができます。
ただし、
マクロによって複数の操作が行われた場合や、一度元に戻した後に他の操作が行われた場合、それらを一括で元に戻すことはできません。そのため、マクロを実行する前にデータのバックアップを取るなどの対策を行うことをおすすめします。
また、マクロを実行する前に実行内容を確認し、意図しない変更が行われる可能性がある場合は、事前にファイルの保存やバックアップを行うことも重要です。
変身したままのウルトラマン 現世に未練あり
今日の自由律俳句1句目
もし、実践してしまった場合、手動で訂正するしかないみたいです。
コピペでVBA コピペでファイルは予防策
今日の自由律俳句2句目
マクロ実行する場合は、事前にファイルもコピペでストックの判断、むずかしいところ。
あるモジュールの内容をコピペし、別のモジュールで表示させたい場合-モジュールからモジュールへ
Module4のコードにModule5のコードをコピペしたい時は、Ctrl + Cでコピーし、その後、Module4を右クリックすればいいのかな?と思いがちですが、マウスの場合、「Wクリック」で反映できました。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?