|
おはようございます。
シートコピーを行うと、シートモジュールにあるコードも一緒にコピーはされます。
ですから、シートモジュールにあるコードは削除して、同じ機能を構成できるように
Thisworkbookのモジュールの
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
End Sub
↑ここに同じ処理がされるようにVBAコードを記述しては いかがですか?
と申し上げました。このように元ブックを作成しておけば、シートコピーでVBAコードが
コピーされることがないからです。
元ブックのVBAコード構成を変えて運用しては? という提案だったのです。
UO3 さんとのやりとりで
>対象となるエクセルファイルは毎月送られてくるもので、自分で作っているのもではありません。
ということを知りました。
でしたら、送り元にこのように作り直してくれ と依頼するか、
御自分でこのように作り直して、このブックで送ってくれ と要請されては いかがですか?
>出来ればオリジナルのBOOKからマクロのコードが削除できれば
マクロコードを削除するコードは、Excel2002以降は、セキュリティを下げなければ
使用できません。ですから、そのことの危険性を十分に理解していることが大前提になります。
マクロコードを削除したり、変更したり出来るのですから、その設定で運用していたら、
元々マクロがないブックにマクロを付けてコードを実行させることが出来てしまいます。
この危険性を熟知された方が便利に使う機能だと思います。
セキュリティレベルを下げても良いなら・・・、
そもそも御質問された原因は、
>ファイルを開くたびに、マクロを有効にしますかと聞かれるので
でしたね!! セキュリティレベルを「低」に設定すれば、メッセージは出ません。
これで運用されては?
又は、元ブックの送り先にデジタル署名付で送ってもらったらいかがですか?
セキュリティレベル 「中」でも最初だけのメッセージで次回からは、確認メッセージがでません。
(デジタル署名の詳細は、ネット検索してください)。
後は、UO3 さんの提示コードでの問題点の
>1.データをグループ化していたが、解除されてしまう。
>2.0(ゼロ)表示をしないという設定が解除されてしまう
グループ化が解除されているなら、再設定するコードを考える
0表示しない設定は、オプションで設定できるので、0 表示しないという設定にする
というコードをマクロの記録等を利用して作成していくという方法を試してみては
いかがですか?
|
|