Перейти к содержимому

Как предотвратить копирование и вставку в ячейку с выпадающим списком в Excel?

Author: Siluvia Last Modified: 2025-06-05

Для ячейки с выпадающим списком проверки данных при копировании содержимого из другой ячейки и вставке его в эту ячейку, выпадающий список исчезнет и будет заменен новым вставленным содержимым. В некоторых случаях вы хотите предотвратить копирование и вставку другого содержимого поверх ячейки с выпадающим списком, что бы вы сделали для решения этой проблемы? В этой статье вы получите метод VBA для решения этой задачи.

Предотвращение копирования и вставки в ячейку с выпадающим списком в Excel


Предотвращение копирования и вставки в ячейку с выпадающим списком в Excel

1. Откройте лист с ячейкой выпадающего списка, для которой вы хотите предотвратить копирование и вставку.

2. Нажмите клавиши Alt + F11 одновременно, чтобы открыть окно Microsoft Visual Basic Applications.

3. В окне Microsoft Visual Basic 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 Applications.

5. Когда вы вставляете содержимое в ячейку с выпадающим списком, появится диалоговое окно, которое напомнит вам, что вставка запрещена. См. скриншот:

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

Примечание: Этот код VBA работает только при вставке в одну ячейку. Если вы копируете и вставляете в несколько ячеек, он не будет работать.

Легко создайте выпадающий список с флажками в Excel:

Утилита Добавить флажки в выпадающий список из Kutools for Excel может помочь вам легко создать выпадающий список с флажками в указанном диапазоне, на текущем листе, в текущей книге или во всех открытых книгах в зависимости от ваших потребностей.
Скачайте полную версию 30-дневной бесплатной пробной версии Kutools для Excel прямо сейчас!


Связанные статьи:

Как создать выпадающий список с несколькими флажками в Excel?
Многие пользователи Excel предпочитают создавать выпадающий список с несколькими флажками, чтобы выбирать несколько элементов из списка за раз. На самом деле, вы не можете создать список с несколькими флажками с помощью проверки данных. В этом руководстве мы покажем вам два метода создания выпадающего списка с несколькими флажками в Excel. Это руководство предоставляет метод решения проблемы.

Создание выпадающего списка из другой книги в Excel
Очень легко создать выпадающий список проверки данных между листами внутри одной книги. Но если данные списка, необходимые для проверки данных, находятся в другой книге, что бы вы сделали? В этом руководстве вы узнаете, как создать выпадающий список из другой книги в Excel подробно.

Создание поискового выпадающего списка в Excel
Для выпадающего списка с множеством значений найти подходящее значение непросто. Ранее мы представили метод автозаполнения выпадающего списка при вводе первой буквы в поле выпадающего списка. Помимо функции автозаполнения, вы также можете сделать выпадающий список доступным для поиска, чтобы повысить эффективность работы при поиске подходящих значений в выпадающем списке. Чтобы сделать выпадающий список доступным для поиска, попробуйте метод из этого руководства.

Автоматическое заполнение других ячеек при выборе значений в выпадающем списке Excel
Допустим, вы создали выпадающий список на основе значений в диапазоне ячеек B8:B14. При выборе любого значения из выпадающего списка вы хотите, чтобы соответствующие значения в диапазоне ячеек C8:C14 автоматически заполнялись в выбранной ячейке. Для решения этой проблемы методы из этого руководства помогут вам.

Больше учебных пособий для выпадающих списков...

Лучшие инструменты для повышения продуктивности работы с Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных на основе: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Расширенных функций Kutools
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!