KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でドロップダウンリストが設定されたセルへのコピーペーストを防止する方法は?

著者Siluvia変更日

データ検証のドロップダウンリストは、Excel で特定のセルに入力可能な値を制限し、ワークシート内のデータの一貫性と整合性を確保するのに非常に効果的な機能です。しかし、よくある問題として、他のセルから内容をコピーしてドロップダウンリスト付きのセルに貼り付けた際に、データ検証ルールが削除され、ドロップダウンリストが消えてしまうことがあります。これにより、データ検証ルールが失われたり、スプレッドシートのロジックが破損したりする恐れがあり、特にユーザー入力をドロップダウンリストで提供された選択肢のみに限定しなければならない場面では、深刻な影響を及ぼす可能性があります。

ドロップダウンセルの整合性を保つには、ユーザーがこれらのセルに貼り付けできないよう制限することをおすすめします。これにより、重要なフィールド内のデータが常に意図された制限と選択肢に従うことが保証されます。本チュートリアルでは、VBA を使ってドロップダウンリストを含むセルへのコピーペースト操作を効果的にブロックする方法を学びます。この手法は、フォームや制御された入力テンプレート、あるいはデータ品質が重視されるワークシートに最適です。

Excel でドロップダウンリストのあるセルへのコピーペーストを防止する


Excel でドロップダウンリストのあるセルへのコピーペーストを防止する

貼り付けられた内容でドロップダウンリストが上書きされないようにするには、該当セルを含むワークシートで VBA を使用できます。以下の手順に従ってください。

1.保護したいドロップダウンが含まれるワークシートを開きます。

2Alt + 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

4Alt + 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 はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

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 アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得