- ベストアンサー
コピペ,ドラッグ&ドロップをシート全体及び複数範囲指定で禁止する方法
- Excel2003でコピペやドラッグ&ドロップをシート全体及び複数範囲指定で禁止する方法について教えてください。
- シート全体及び複数範囲指定でのコピペやドラッグ&ドロップを禁止したい場合、Workbook_BeforeCloseイベントとWorkbook_Openイベントを使用することができます。
- Workbook_BeforeCloseイベントでは、シートの表示を設定し、パスワードで保護し、保存する処理を行います。一方、Workbook_Openイベントでは、保護を解除し、シートの表示を設定します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>このexcelを管理するのはほとんどexcelを触ったことがない人なので >マクロにて禁止していてもオプション選択で再チェックすると出来てしまうので それほどの素人がオプションを弄れるとは思わないのですが、、、、 ま、それは置いといて、回答。 セルを選択したら必ずCellDragAndDropプロパティをFalseにしてやればいいのでは? 全シートで禁止にするには、Thisworkbookモジュールに以下のコードを。 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.CellDragAndDrop = False End Sub シートによって違えたければ、 If Sh.name = "Sheet2" then、、、、 などとしてコントロールする 勘違いでしたらご容赦! 以上です。
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
>マクロにて禁止していてもオプション選択で再チェックすると出来てしまうので他に方法はないかなと質問させていただきました。 シートを保護するとドラッグアンドドロップのオプションの設定を変更しても無効になるので、シートを保護するコードを追加してみてはいかがでしょう(データ範囲は編集できるように保護タブで「ロック」のチェックを外しておく)。
お礼
シートの保護も考えましたがパスワードの管理がVBAと2種類になってしますので・・・ このexcelを管理するのはほとんどexcelを触ったことがない人なので出来るだけ楽をさせたいのです。 ともあれ回答ありがとうございました。 もし方法がなければシート保護で対応します。
- MackyNo1
- ベストアンサー率53% (1521/2850)
以下のページに、いくつかのパターンのコピー貼り付けなどを禁止するケースが説明されていますので、参考になると思います。 http://www.excel7.com/trouble19.htm
お礼
早速の回答ありがとうございます。 すでにこのサイトを参考にさせてもらっていましたがドラッグ&ドロップの箇所で マクロにて禁止していてもオプション選択で再チェックすると出来てしまうので 他に方法はないかなと質問させていただきました。 他にいい方法があればまたご教示願います。
お礼
最初に選択してからオプションにてドラッグ&ドロップにチェック入れると出来てしまいますが・・・ 管理者が分からないことを期待してみます! 一番理想の形に近かったためBAに選ばせていただきます。 ありがとうございました。