Excelで切り取りを禁止にしたい

Microsoft Excelで、切り取りを禁止にしたいと思ったことはありませんか?共同編集が可能なシートで、シート内要素に対して切り取りを行い別の場所に貼り付けられると困ってしまいますよね。こういったケースの場合は、ブック内で切り取り操作を禁止するVBAマクロを組んで切り取り操作を無効化しましょう。
この記事では、Microsoft Excelで切り取りを禁止にする方法をご紹介していきます。
Excelで切り取りを禁止にする方法

それでは、Excelで切り取りを禁止にする方法を説明します。こちらの方法はコピー・切り取り・貼り付けを無効化するVBAマクロを組んで、切り取りを無効化しています。まずはウィンドウ上部の「開発」タブをクリックしてリボンメニューを開き、「コード」項目の「Visual Basic」をクリックしましょう。

「Microsoft Visual Basic for Applications」ウィンドウが表示されます。ウィンドウ左上のフォルダツリーが編集対象を選択できる「プロジェクトエクスプローラー」・ウィンドウ左下が「プロパティウィンドウ」・プロジェクトエクスプローラーをダブルクリックして右側に表示されるのがエディタの「コードウィンドウ」となります。ここでは「Microsoft Excel Objects」フォルダの「ThisWorkbook」を選択しています。
続いてウィンドウ上部の「挿入」タブをクリックしてメニューを開き、「標準モジュール」をクリックして標準モジュールの追加を行います。コードウィンドウを開いたら、下記のコードを入力します。コードの入力が完了したら、ウィンドウ上部の「実行」ボタンをクリックして「マクロ」ダイアログボックスで作成したマクロに名前を付けて「実行」ボタンをクリックしましょう。これで、切り取りなどを無効化することができますよ。
Private Sub Workbook_Activate() Application.CutCopyMode = False Application.OnKey "^c", "" Application.CellDragAndDrop = False End Sub Private Sub Workbook_Deactivate() Application.CellDragAndDrop = True Application.OnKey "^c" Application.CutCopyMode = False End Sub Private Sub Workbook_WindowActivate(ByVal Wn As Window) Application.CutCopyMode = False Application.OnKey "^c", "" Application.CellDragAndDrop = False End Sub Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) Application.CellDragAndDrop = True Application.OnKey "^c" Application.CutCopyMode = False End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.CutCopyMode = False End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Application.OnKey "^c", "" Application.CellDragAndDrop = False Application.CutCopyMode = False End Sub Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) Application.CutCopyMode = False End Sub
以上が、Excelで切り取りを禁止にする方法の説明となります。ここまでするのが面倒だという場合は、下記リンク先の記事に紹介しているシート保護を試してみてくださいね。