メインコンテンツへスキップ

Excelでドロップダウンリストのあるセルへのコピー&ペーストを防ぐにはどうすればよいですか?

Author: Siluvia Last Modified: 2025-05-23

データ検証のドロップダウンリストがあるセルの場合、別のセルからコンテンツをコピーしてそれを貼り付けると、ドロップダウンリストが消え、新しい貼り付けられた内容に置き換えられてしまいます。場合によっては、ドロップダウンリストを持つセルに他のコンテンツをコピー&ペーストすることを防ぎたい場合があります。そのような場合、どのように対処しますか?この記事では、この問題に対処するためのVBA方法をご紹介します。

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


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

1. コピー&ペーストを防ぎたいドロップダウンリストのあるワークシートを開きます。

2. Alt + F11キーを同時に押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。

3. Microsoft Visual Basic for Applicationsウィンドウで、左側のペインにある現在のワークシート名をダブルクリックし、以下のVBAコードをコードエディターにコピー&ペーストします。スクリーンショットをご覧ください:

copy and paste the code into the sheet module

VBAコード: ドロップダウンリストのあるセルへのコピー&ペーストを防ぐ

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20200903
    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キーを押して、Microsoft Visual Basic for Applicationsウィンドウを終了します。

5. ドロップダウンリストのあるセルにコンテンツを貼り付けようとすると、貼り付けが許可されていないことを知らせるダイアログボックスが表示されます。スクリーンショットをご覧ください:

When you paste content to a cell with drop down list, a dialog box will pop up

: このVBAは単一セルへの貼り付けの場合にのみ機能します。複数のセルをコピーして貼り付ける場合は、動作しません。

Excelでチェックボックス付きのドロップダウンリストを簡単に作成:

The ドロップダウンリストにチェックボックスを追加する 機能を使用すると、 Kutools for Excel は、指定された範囲、現在のワークシート、現在のワークブック、またはすべての開いているワークブックに基づいて、チェックボックス付きのドロップダウンリストを簡単に作成するのに役立ちます。
30日間の完全な機能の無料試用版を今すぐダウンロード!


関連記事:

Excelで複数のチェックボックスを持つドロップダウンリストを作成するにはどうすればよいですか?
多くのExcelユーザーは、一度にリストから複数の項目を選択するために、複数のチェックボックスを持つドロップダウンリストを作成しようとします。実際には、データ検証を使用して複数のチェックボックスを持つリストを作成することはできません。このチュートリアルでは、Excelで複数のチェックボックスを持つドロップダウンリストを作成する2つの方法を紹介します。このチュートリアルでは、問題を解決する方法を提供します。

Excelで別のワークブックからドロップダウンリストを作成する
同じワークブック内のワークシート間でデータ検証のドロップダウンリストを作成するのは非常に簡単です。しかし、必要なリストデータが別のワークブックにある場合、どうすればよいでしょうか?このチュートリアルでは、Excelで別のワークブックからドロップダウンリストを作成する方法を詳しく学びます。

Excelで検索可能なドロップダウンリストを作成する
多数の値を持つドロップダウンリストの場合、適切な値を見つけるのは簡単ではありません。以前、ドロップダウンボックスに最初の文字を入力したときに自動補完する方法を紹介しました。自動補完機能に加えて、ドロップダウンリストを検索可能にすることで、効率的に適切な値を見つけられるようにすることもできます。このチュートリアルでは、ドロップダウンリストを検索可能にする方法を紹介します。

Excelのドロップダウンリストで値を選択時に他のセルを自動入力する
たとえば、セル範囲B8:B14の値に基づいてドロップダウンリストを作成したとします。ドロップダウンリストで任意の値を選択すると、セル範囲C8:C14の対応する値が選択したセルに自動的に入力されるようにしたい場合があります。この問題を解決するために、このチュートリアルの方法が役立ちます。

ドロップダウンリストに関するその他のチュートリアル...

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

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ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%向上させ、毎日数百回のマウスクリックを減らします!