KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

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

АвторSiluviaДата изменения

Выпадающие списки проверки данных — эффективный инструмент для контроля типа информации, вводимой в определённые ячейки Excel, что гарантирует согласованность и целостность данных на ваших листах. Однако часто возникает проблема: при копировании содержимого из другой ячейки и его вставке в ячейку с выпадающим списком правило проверки данных удаляется, а сам список пропадает. Это может привести к потере правил проверки и нарушению логики таблицы, особенно когда ввод пользователя должен быть строго ограничен вариантами из выпадающего списка.

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

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


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

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

1. Откройте лист, содержащий выпадающие списки, которые нужно защитить.

2. Нажмите Alt + F11, чтобы открыть окно Visual Basic для приложений.

3. В левой панели дважды щелкните нужный лист (но не «ЭтаКнига»). Вставьте приведённый ниже код 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 для Excel позволяет легко создавать раскрывающиеся списки с флажками в ограниченном диапазоне, на текущем листе, в текущей книге или во всех открытых книгах — в зависимости от ваших задач.
Скачайте полную версию Kutools для Excel с бесплатной пробной версией на 30 дней прямо сейчас!


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

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

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

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

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

Еще руководства по выпадающим спискам…

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

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

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

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

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек