【解決済み】Excelでコピー&貼り付けするとデータの入力規則が機能しない原因とVBAでの解決法
Excelのデータの入力規則は、ワークシートに入力されるデータを制御できる非常に便利な機能です。新しいデータを入力する際、選択したセルに対して用途に合わせて自由に条件を設定できます。ただし、この機能には「コピー&貼り付けを行うと入力規則が機能しない」という大きな弱点があり、実務上の重大な問題となるケースがあります。
以下では説明のため、従業員名・部署・ウェイティングリストの情報を含むある企業のデータセットを使用します。

Excelでコピー&貼り付け時に入力規則が機能しない問題とその解決策
1. コピー&貼り付けで入力規則が機能しない原因
まず、このデータセットの「従業員名」列にデータの入力規則を設定し、入力内容を制限してみます。
手順:
- まず、従業員名が含まれるB列を選択します。
- 次に、「データ」タブから「データツール」グループを開き、「データの入力規則」を選択します。

すると、ダイアログボックスが表示されます。
- ダイアログボックスの「設定」タブが開いていることを確認します。
- 「入力値の種類」から入力規則の条件を選択します。ここでは「文字列(長さ指定)」を選びました。
- 続いて、入力規則の範囲を制限します。ここでは、最小1文字~最大8文字までのテキストデータのみを受け付けるよう設定しました。

これでデータの入力規則が適用されました。
試しに条件を満たさないデータを入力してみましょう。ここでは、ウェイティングリストにある値「Labuchange」を入力します。

不正なデータを入力すると、警告メッセージが表示されます。入力規則の条件に反するデータだったため、値は受け付けられず警告メッセージが現れました。

ところが、同じ値をコピーして貼り付けると、入力規則が設定された列であっても値がそのまま受け入れられ、警告メッセージは一切表示されません。

これこそが、「コピー&貼り付けでデータの入力規則が機能しない」という深刻な問題です。
関連記事:Excelで複数条件のカスタム入力規則を適用する方法(4つの例)
あわせて読みたい:
- Excelの入力規則の数式でIF関数を使う方法(6選)
- Excelで色を使った入力規則の活用術(4選)
- 別シートのデータを使って入力規則リストを作る方法(6つ)
- Excel VBAで配列から入力規則リストを作成する方法
- Excelで名前付き範囲とVBAを使って入力規則リストを作る方法
2. VBAでコピー&貼り付けにも対応した入力規則を作成する
「Excelのコピー&貼り付けでデータの入力規則が機能しない」問題を解決するには、VBA(Visual Basic for Applications)を使うのが唯一の確実な方法です。ここでその具体的な手順を解説します。
手順:
- まず、「開発」タブを選択します。
- 次に、「Visual Basic」をクリックします。

新しいウィンドウ(VBE)が開きます。
- コードを適用したいシートをクリックします。ここでは「VBA」という名前のSheet2を選択しました。

- 左側のドロップダウンで「General」から「Worksheet」を、右側の「Declarations」から「Change」を選択して、Private Subプロシージャを作成します。

- あとは、どのようにデータを検証したいかに応じて、以下のようなコードを入力します。
今回使用したコードは以下の通りです:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValidatedCells As Range
Dim Cell As Range
Set ValidatedCells = Intersect(Target, Target.Parent.Range("B:B"))
If Not ValidatedCells Is Nothing Then
For Each Cell In ValidatedCells
If Not Len(Cell.Value) <= 8 Then
MsgBox "セル " & Cell.Address & " に入力された名前 """ & _
Cell.Value & """ は8文字を超えています。入力を取り消します!", vbCritical
Application.Undo
Exit Sub
End If
Next Cell
End If
End Sub

このコードでは、Private Sub「Worksheet_Change」を作成し、ValidatedCellsとCellという2つの変数をRange型として宣言しています。次にSetステートメントを使って、入力規則を適用したい範囲を格納します。
続いて、B列を検証対象として指定し、Rangeメソッドで範囲を明示しました。さらに、入れ子になったIFステートメントの中でForループを使い、「選択範囲の文字数は8文字以内でなければならない」という条件(文字列の長さ)を設定しています。条件に合致しない場合は、MsgBoxによって警告ボックスが表示され、Undo(元に戻す)機能により入力が自動的に取り消されます。
- コードを保存します。
- その後、シートに戻って入力規則が正しく機能しているかを確認しましょう。
ここでは、D7セルの値をコピーしてB10に貼り付けてみます。入力規則の条件に基づいてエラーアラートが表示され、警告ボックスが現れます。

さらに便利なことに、この方法はキーボードからの直接入力やその他のあらゆる入力方法でも同じように機能します。
関連記事:Excelで複数選択可能な入力規則ドロップダウンリストを作成する方法
練習用ワークブック
以下のワークブックを使って、実際に操作しながらスキルを磨きましょう。

まとめ
「Excelのコピー&貼り付けでデータの入力規則が機能しない」問題は、重要な業務の場面で深刻な影響を与える可能性があります。本記事の解決策が皆さんのお役に立てば幸いです。このトピックについてさらに質問がある場合は、下のコメント欄からお気軽にお寄せください。
関連記事
- Excelでカスタム数式を使って英数字のみを許可する入力規則の設定方法
- Excelでデータの入力規則用ドロップダウンリストを作成する方法(8選)
- ExcelでVBAを使った入力規則ドロップダウンリストの作成(7つの活用例)
- Excelの入力規則ドロップダウンリストでオートコンプリートを実現する方法(2つ)
- 絞り込み(フィルター)機能付きのExcel入力規則ドロップダウンリスト(2つの例)
-
Windowsでコピー&ペーストができない?原因と7つの対処法を徹底解説
Windowsの基本的な編集機能といえば、真っ先に挙げられるのが「コピー」と「貼り付け」です。ドキュメントの作成や文章の並べ替え、書式設定など、さまざまな場面で欠かせない機能です。しかし、いざ使おうとしたときにコピー&ペーストが動かなくなったら、どうすればよいのでしょうか。 補足: 通常、コピーを行うには「Ctrl + C」を押すか、対象を選択して右クリックし「コピー」を選びます。同様に、貼り付けるには「Ctrl + V」を押すか、右クリックして「貼り付け」を選択します。 この問題の原因としては、プログラムコンポーネントの破損、問題のあるプラグインや機能、「rdpclip.exe」プロセスの不
-
Windows 10でコピー&ペーストができない時の対処法|原因別の解決策6選
Windows 10にシステムアップデートを行った直後から、コピー&ペーストが機能しなくなったという報告が多数寄せられています。また、特定のデバイスでは突然この問題が発生するケースも確認されています。コピー&ペーストはパソコン操作において最も頻繁に使われる基本機能の一つであるため、問題が起きたらできるだけ早く解決したいところです。本記事では、Windows 10でコピー&ペーストができなくなる主な原因と、それぞれの対処法を詳しく解説します。古いデバイスドライバーが原因となっているケースもあるため、ドライバーアップデーターの活用もおすすめします。なお、クリップボードにはコピーしたテキスト・画像・