Excelでドロップダウンリストのあるセルへのコピー&ペーストを防ぐにはどうすればよいですか?
データ検証のドロップダウンリストは、Excelの特定のセルに入力できる情報の種類を制御する効果的な方法であり、ワークシート内のデータの一貫性と整合性を維持するのに役立ちます。しかし、よくある問題として、別のセルからコンテンツをコピーしてドロップダウンリストのあるセルに貼り付けると、データ検証が削除され、ドロップダウンリストが消えてしまいます。これにより、特にユーザー入力をドロップダウンリストで提供されたオプションに制限する必要がある場合、データ検証ルールが失われ、スプレッドシートの論理が破綻することがあります。
ドロップダウンセルの整合性を維持するために、ユーザーがそれらに上書きできないようにしたい場合があります。これにより、これらの重要なフィールドのすべてのデータが意図した制限とオプションに従い続けます。このチュートリアルでは、VBAを使用してドロップダウンリストを持つセルでのコピー&ペースト操作を効果的に停止する方法を学びます。この方法は、フォーム、制御された入力テンプレート、またはデータ品質が不可欠なワークシートに適しています。
Excelでドロップダウンリストのあるセルへのコピー&ペーストを防止する
Excelでドロップダウンリストのあるセルへのコピー&ペーストを防止する
貼り付けられたコンテンツによってドロップダウンリストが上書きされるのを防ぐために、そのセルを含むワークシートでVBAを使用できます。以下の手順に従ってください:
1. 保護したいドロップダウンを含むワークシートを開きます。
2. Alt + F11 を押して Visual Basic for Applications ウィンドウを開きます。
3. 左側のペインで、保護を適用したいシート("ThisWorkbook"ではない)をダブルクリックします。次のVBAコードをコードエディターに貼り付けます:
VBAコード: ドロップダウンへの貼り付けを防止
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice
Dim xValue As String
Dim xCheck1 As String
Dim xCheck2 As String
Dim xRg As Range
Dim xArrCheck1() As String
Dim xArrCheck2() As String
Dim xArrValue()
Dim xCount, xJ As Integer
Dim xBol As Boolean
' If Target.Count > 1 Then
' Exit Sub
' End If
xCount = Target.Count
ReDim xArrCheck1(1 To xCount)
ReDim xArrCheck2(1 To xCount)
ReDim xArrValue(1 To xCount)
Application.EnableEvents = False
On Error Resume Next
xJ = 1
For Each xRg In Target
xArrValue(xJ) = xRg.Value
xArrCheck1(xJ) = xRg.Validation.InCellDropdown
xJ = xJ + 1
Next
Application.Undo
xJ = 1
For Each xRg In Target
xArrCheck2(xJ) = xRg.Validation.InCellDropdown
xJ = xJ + 1
Next
xBol = False
For xJ = 1 To xCount
If xArrCheck2(xJ) <> xArrCheck1(xJ) Then
xBol = True
Exit For
End If
Next
If xBol Then
MsgBox "The selected cells containg data validation drop-down lists, no pasting allowed."
Else
xJ = 1
For Each xRg In Target
xRg.Value = xArrValue(xJ)
xJ = xJ + 1
Next
End If
Application.EnableEvents = True
End Sub
4. Alt + Q を押してVBAエディターを閉じ、Excelに戻ります。
5. ドロップダウンセルに貼り付けを試みてください。メッセージが表示され、貼り付けが防止され、ドロップダウンはそのまま残ります:
注意点と制限事項:
このVBAコードは、単一セルへの貼り付けアクション向けに設計されています。複数セルへの貼り付けによるデータ検証の喪失は防げない可能性があります。ユーザーに適切に通知してください。
トラブルシューティングのヒント:
- コードが正しいワークシートモジュール(一般的なモジュールではない)に配置されていることを確認してください。
- ファイルを開くときにマクロを有効にしてください。
- コードを貼り付ける際にコピー/ペーストエラーがないか再確認してください。
- 本番データに適用する前に、サンプルファイルでマクロをテストしてください。
代替ソリューション:
Excelでチェックボックス付きのドロップダウンリストを簡単に作成する:
Kutools for Excel の ドロップダウンリストにチェックボックスを追加する 機能は、指定範囲、現在のワークシート、現在のワークブック、または開かれているすべてのワークブックに基づいて、チェックボックス付きのドロップダウンリストを簡単に作成するのに役立ちます。 Kutools for Excel は、ニーズに応じて指定範囲、現在のワークシート、現在のワークブック、またはすべての開かれているワークブックにチェックボックス付きのドロップダウンリストを簡単に作成するのに役立ちます。
Kutools for Excelの 30 日間の完全機能無料体験版を今すぐダウンロード!
関連記事:
Excelで複数のチェックボックスを持つドロップダウンリストを作成するには?
多くのExcelユーザーは、一度にリストから複数の項目を選択するために、複数のチェックボックスを持つドロップダウンリストを作成しようとします。実際には、データ検証を使用して複数のチェックボックスを持つリストを作成することはできません。このチュートリアルでは、Excelで複数のチェックボックスを持つドロップダウンリストを作成するための2つの方法を紹介します。このチュートリアルは、問題を解決するための方法を提供します。
Excelで別のブックからドロップダウンリストを作成する
同じブック内のワークシート間でデータ検証のドロップダウンリストを作成するのは非常に簡単です。しかし、必要なリストデータが別のブックにある場合はどうしますか?このチュートリアルでは、Excelで別のブックからドロップダウンリストを作成する方法について詳細に説明します。
Excelで検索可能なドロップダウンリストを作成する
多数の値を持つドロップダウンリストの場合、適切なものを見つけるのは簡単ではありません。以前、ドロップダウンボックスに最初の文字を入力するとドロップダウンリストが自動補完される方法を紹介しました。自動補完機能に加えて、ドロップダウンリストを検索可能にすることでも、ドロップダウンリスト内の適切な値を見つける作業効率を向上させることができます。検索可能なドロップダウンリストを作るには、このチュートリアルの方法をお試しください。
Excelのドロップダウンリストで値を選択時に他のセルを自動的に入力する
たとえば、セル範囲 B8:B14 の値に基づいてドロップダウンリストを作成したとします。ドロップダウンリストから任意の値を選択すると、セル範囲 C8:C14 の対応する値が選択されたセルに自動的に入力されるようにしたい場合があります。この問題を解決するために、このチュートリアルの方法が役立ちます。
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得