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 の全機能を30 日間無料でお試しください!
関連記事:
Excel で複数選択可能なチェックボックス付きドロップダウンリストを作成する方法は?
多くのExcel ユーザーが、リストから一度に複数の項目を選べるように、チェックボックス付きのドロップダウンリストを作成したいと考えています。しかし、実は標準のデータ検証機能では、チェックボックス付きリストは作成できません。そこで本チュートリアルでは、Excel で複数選択可能なチェックボックス付きドロップダウンリストを実現する2 つの方法をご紹介します!
Excel で他のブックからドロップダウンリストを作成する
同じブック内のワークシート間でデータ検証のドロップダウンリストを作成するのはとても簡単です。でも、そのリストに必要なデータが別のブックにある場合はどうすればいいのでしょうか?このチュートリアルでは、Excel で他のブックからドロップダウンリストを作成する詳しい手順をわかりやすく解説します!
Excel で検索可能なドロップダウンリストを作成する
多数の選択肢を含むドロップダウンリストでは、目的の項目を見つけるのが簡単ではありません。以前、ドロップダウンボックスで最初の文字を入力すると自動的に候補が補完される方法をご紹介しました。この自動補完機能に加え、ドロップダウンリスト自体を「検索可能」にすることで、さらにスピーディーかつ正確に目的の値を見つけられるようになります。ぜひ、本チュートリアルの方法で検索可能なドロップダウンリストを今すぐ作成してみてください!
Excel のドロップダウンリストで値を選択すると、他のセルが自動入力される!
セル範囲 B8:B14 に基づいてドロップダウンリストを作成したとします。このリストから任意の値を選択したとき、対応するセル範囲 C8:C14 の値が指定セルに自動的に入力されるようにしたい—そんなときに、本チュートリアルで紹介する方法がぴったりです!
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得