Note: The other languages of the website are Google-translated. Back to English

Excelで切り取り、コピー、貼り付け機能を無効にするにはどうすればよいですか?

切り取り、コピー、貼り付けから保護する必要のある重要なデータを含むワークブックがあるとします。 それを達成する方法は? この記事では、Excelブックで切り取り、コピー、貼り付けの機能を同時に無効にするためのVBAメソッドについて説明します。

VBAコードで切り取り、コピー、貼り付け機能を無効にする


VBAコードで切り取り、コピー、貼り付け機能を無効にする

Excelブックの切り取り、コピー、貼り付け機能を無効にするには、次の手順を実行してください。

1.ブックで、切り取り、コピー、貼り付け機能を無効にする必要がある場合は、を押してください。 他の + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。

2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、ダブルクリックしてください このワークブック 左側で プロジェクト ペインで、以下のVBAコードをコピーして ThisWorkbook(コード) 窓。 スクリーンショットを参照してください:

VBAコード:Excelでカット、コピー、貼り付け機能を同時に無効にする

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

3.次に、を押してください 他の + Q 終了するためのキー アプリケーション向け Microsoft Visual Basic 窓。

現在、このブックからデータを切り取ったりコピーしたりすることはできません。一方、他のシートまたはブックからコピーしたデータをこのブックに貼り付けることはできません。

注意:上記のVBAコードを実行すると、ドラッグアンドドロップ機能も無効になります。


関連記事:


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (50)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
私は上記のようにしますが、開いたExcelファイルでカットコピーと過去の機能が無効になっています。なぜですか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、私はこれを使用してユーザーから「カット」を非表示にしました。テーブルがない限り、「カット」はうまく機能します。テーブル内のセルを選択すると、「カット」が奇跡的に再表示されます。これはまさに私が避けようとしていることです。 何か案は? ありがとう!
このコメントは、サイトのモデレーターによって最小化されました
ありがとうございます。しかし、ワークブック全体で。 このコードが必要な場合は、特定のシートのみです。可能ですか?
このコメントは、サイトのモデレーターによって最小化されました
答えを見つけましたか?
このコメントは、サイトのモデレーターによって最小化されました
たくさんありがとう。それはworbook全体で働いています。 1枚だけのコーディングはできますか?助けてください。
このコメントは、サイトのモデレーターによって最小化されました
切り取り、コピー、貼り付け機能を有効に戻すにはどうすればよいですか? ご意見をお聞かせください!
このコメントは、サイトのモデレーターによって最小化されました
親愛なる空
以下のVBA1(コードをThisWorkbookモジュールに配置)を実行して、ワークブックの切り取り、コピー、および貼り付け機能を無効にしてください。

VBA1:
サブDelCopy()
アプリケーション付き
.OnKey "^ x"、 ""
.OnKey "^ c"、 ""
.CommandBars( "Cell")。Controls(1).Enabled = False
.CommandBars( "Cell")。Controls(2).Enabled = False
最後に
End Subの

そして、VBA2を実行して、これらすべての機能をワークブックに戻します。

VBA2:
サブRecoverCopy()
アプリケーション付き
.OnKey "^ x"
.OnKey "^ c"
.CommandBars( "Cell")。Controls(1).Enabled = True
.CommandBars( "Cell")。Controls(2).Enabled = True
最後に
End Subの
このコメントは、サイトのモデレーターによって最小化されました
これは私にはうまくいかなかったようです-元のVBAコードを削除してから、上記を貼り付けて、切り取り、コピー、貼り付け機能を再度有効にする必要がありますか?
このコメントは、サイトのモデレーターによって最小化されました
グッド·デイ、
上記のコメントのVBA1は、元のコードの置き換えです。
このコメントは、サイトのモデレーターによって最小化されました
親愛な、

Excel 2007シートで切り取り、コピー、貼り付けを無効にしたい
このためのコードを共有できますか
このコメントは、サイトのモデレーターによって最小化されました
グッド·デイ、
コメントありがとうございます。 Excel2007の解決策を見つけようとしています。しばらくお待ちください。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、
「CUT」のみを無効にすることはできますか? しかし、私はまだコピーアンドペーストを使用できますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちはカルメロ、
以下のコードをコピーしてワークブックのワークブックコードウィンドウに貼り付け、Excelマクロ対応のワークブックとして保存してください。 その後、「カット」機能が無効になります。

Option Explicit
CommandBarsとしてのプライベートWithEventsCmbrs

プライベートサブWorkbook_Open()
Cmbrs=Application.CommandBarsを設定します
End Subの

プライベートサブWorkbook_Activate()
Application.CutCopyMode=2の場合
Application.CutCopyMode = 0
終了する場合
End Subの

プライベートサブCmbrs_OnUpdate()
私がActiveWorkbookの場合
Application.CutCopyMode=2の場合
Application.CutCopyMode = 0
MsgBox「カット操作が無効になっています」
終了する場合
終了する場合
End Subの
このコメントは、サイトのモデレーターによって最小化されました
私はあなたが言ったように試しましたが、何も起こりませんでした。 まったく同じものが欲しい、
「カット」機能が無効になっています。 右クリックボタンオプションとツールバーから「カット」オプションを無効にする必要があります。
可能性のあるクリスタルですか?
このコメントは、サイトのモデレーターによって最小化されました
良い一日、
私の場合、コードはうまく機能します。 Officeのバージョンを教えてもらえますか?
このコメントは、サイトのモデレーターによって最小化されました
Hi

私はVBAコードの初心者であり、このコードは私の問題の99%を解決しました。

(このコードが投与するように)ホールシートをロックすることは可能ですか?それでもXNUMXつのセルのロックを解除することはできますか?
(明確にします。ホールシートのXNUMXつのセルにのみ情報をコピーして過去にコピーできるようにします)。

敬具
L
このコメントは、サイトのモデレーターによって最小化されました
こんにちはリンダ、
VBAコードを使用せずに問題を解決できます。
セルを右クリックし、コンテキストメニューから[セルの書式設定]を選択し、ダイアログの[保護]タブの下にある[ロック]チェックボックスをオフにします。 次に、ワークシートをパスワードで保護します。
このコメントは、サイトのモデレーターによって最小化されました
この投稿を見つけてとてもうれしかったですが、これをマルチワークシートワークブックの単一のワークシートに制限するのに少し助けが必要です。 そして、ユーザーの介入なしにこれを実行する方法を知る必要があります...エラーを防ぐために、ワークブックでこれをできるだけ早く必要とします。
このコメントは、サイトのモデレーターによって最小化されました
良い一日、
次のVBAコードは、問題の解決に役立ちます。 また、コード内の「Sheet2」をシート名に置き換えることを忘れないでください。

パブリックmJWSNameAsString

プライベートサブWorkbook_Open()
mJWSName = "Sheet2"
End Subの

プライベートサブWorkbook_Activate()
ActiveSheet.Name=mJWSNameの場合
Application.CutCopyMode = False
Application.OnKey "^ c"、 ""
Application.CellDragAndDrop = False
終了する場合
End Subの

プライベートサブWorkbook_Deactivate()
Application.OnKey "^ c"、 ""
Application.CellDragAndDrop = True
Application.CutCopyMode = False
End Subの


Private Sub Workbook_WindowActivate(ByVal Wn As Window)
ActiveSheet.Name=mJWSNameの場合
Application.CutCopyMode = False
Application.OnKey "^ c"、 ""
Application.CellDragAndDrop = False
終了する場合
End Subの

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.OnKey "^ c"
Application.CellDragAndDrop = True
Application.CutCopyMode = False
End Subの

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object、ByVal Target As Range)
エラーで次の再開
Sh.Name=mJWSNameの場合Then
Application.CutCopyMode = False
終了する場合
End Subの

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
エラーで次の再開
Sh.Name=mJWSNameの場合Then
Application.OnKey "^ c"、 ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
終了する場合
End Subの

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.OnKey "^ c"
Application.CellDragAndDrop = True
Application.CutCopyMode = False
End Subの
このコメントは、サイトのモデレーターによって最小化されました
最後の質問-このコードはどこに行き、どのように実行されますか? これが機能する必要のあるプロジェクトは、コードの多くを含むExcelシートにXLAファイルを添付します。 これがこのシートの背後にあるモジュールまたはコードに入る必要があるかどうかわかりませんでした。 ありがとう...
このコメントは、サイトのモデレーターによって最小化されました
指示ありがとうございます。2013年にOfficeで試してみましたが、何も変わりませんでした。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、コードはうまく機能します。
ただし、読み取り専用オプションが有効になっています。 (変更したくない場合)。 ..ファイル、名前を付けて保存、ツール、一般オプション、読み取り専用推奨を設定した場合、コードは機能しません。

よろしくお願いします。
このコメントは、サイトのモデレーターによって最小化されました
それは本当にうまくいきます、どうもありがとう。
このコメントは、サイトのモデレーターによって最小化されました
おかげでそれは完璧に機能します....それはどういうわけか範囲にのみ適用できますか?
このコメントは、サイトのモデレーターによって最小化されました
良い一日、
申し訳ありませんがそれであなたを助けることはできません。 私たちのフォーラムに質問を投稿することを歓迎します: https://www.extendoffice.com/forum.html。 コメントありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
ありがとうございます
このコメントは、サイトのモデレーターによって最小化されました
ありがとう、とても便利です。
このコメントは、サイトのモデレーターによって最小化されました
カットコピーペースト該当するワークブック全体。 このコードが必要な場合は、特定のシートのみです。可能ですか?
助けてください。 必要なのはXNUMX枚の無効化機能だけです。 すべての機能を実行している別のシート...
このコメントは、サイトのモデレーターによって最小化されました
そのコードは、ブック全体ではなく2016枚のExcelXNUMXでは機能しません
このコメントは、サイトのモデレーターによって最小化されました
これにより、メモ帳またはMicrosoftEdgeからの貼り付けが可能になります。 ソースからの貼り付けを防ぐ方法があるかどうかを確認してください。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、
ソースからの貼り付けを防ぐ場合は、メモ帳機能を防ぐ必要があり、不便になる可能性があります。 これはお勧めしません。 申し訳ありませんが、そのためにあなたを助けることはできません。
このコメントは、サイトのモデレーターによって最小化されました
このコードを使用して、もう一度有効にしたいですか? それを再度有効にする方法は?
このコメントは、サイトのモデレーターによって最小化されました
このコードを使用して、コピーの切り取りと貼り付けを無効にします



プライベートサブWorkbook_Activate()

Application.CutCopyMode = False

Application.OnKey "^ c"、 ""

Application.CellDragAndDrop = False

End 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の





これらの機能を再度有効にしたい
このコメントは、サイトのモデレーターによって最小化されました
これはうまく機能します。これをどのように変更して、許容可能な入力の名前付き範囲と許容可能な入力のみに関連付けられたプルダウンメニューを持つ特定の列にコピー/貼り付けできるようにしますか。 たとえば、名前がJetson、George、25の場合、Jetson、George、25のコピー/貼り付けは許可されますが、Jeston、George、26は許可されません。または、ドラッグアンドフィルにより、Jetson、George、25、26になります。 、次に27など。
私のワークシートでは、特定の列の切り取り/コピー/貼り付けを完全に無効にしてから、ドロップダウンからの許容可能なデータの切り取りコピー貼り付けのみを許可したいと思います。
ありがとうございました。
ここにはまだコメントが投稿されていません
もっと読む
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護