Note: The other languages of the website are Google-translated. Back to English

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

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

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


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

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

2. Нажмите другой + F11 клавиши одновременно, чтобы открыть Приложения Microsoft Visual Basic окно.

3. в Приложения Microsoft Visual Basic окна, дважды щелкните имя текущего рабочего листа на левой панели, затем скопируйте и вставьте приведенный ниже код VBA в редактор кода. Смотрите скриншот:

Код 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. Нажмите другой + Q ключи для выхода из Приложения Microsoft Visual Basic окно.

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

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

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

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


Статьи по теме:

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

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

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

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

Дополнительные руководства для раскрывающегося списка ...


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

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (12)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Это работает, но когда я вставляю значение, это разрешает данные, которых нет в раскрывающемся списке. Любой способ ограничить любое значение, которое не входит в список.
Этот комментарий был сведен к минимуму модератором на сайте
Привет Дилип, ты смог решить проблему, у меня тоже такая же проблема. Я должен разрешить копирование, вставку только для выпадающих значений в ячейке проверки данных, другие я должен ограничить. Можете ли вы поделиться своим решением. Спасибо, Рао.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Пока я запускал этот макрос, я получил эту ошибку отладки «Application.Undo». Пожалуйста, решите это как можно скорее
Этот комментарий был сведен к минимуму модератором на сайте
Привет, выше упомянутый код vba не запущен. Пожалуйста, разрешите.
Этот комментарий был сведен к минимуму модератором на сайте
Private Sub Worksheet_Change(ByVal Target As Range) Dim xValue As String Dim xCheck1 As String Dim xCheck2 As String If Target.Count > 1 Then Exit Sub End If Application.EnableEvents = False xValue = Target.Value On Error Resume Next xCheck1 = Target. Validation.InCellDropdown При ошибке Перейти к 0 Application.Undo При ошибке Возобновить Далее xCheck2 = Target.Validation.InCellDropdown При ошибке Перейти к 0 Если xCheck1 = xCheck2 Then Target = xValue Else MsgBox "Вставка не разрешена!" End If Application.EnableEvents = True End Sub Этот макрос не работает при копировании из другой книги или листа, поэтому, пожалуйста, скажите мне, как избежать этих вещей.
Этот комментарий был сведен к минимуму модератором на сайте
Большое тебе спасибо !! у меня работает нормально!!! копирование в одну ячейку ограничено. но если я скопирую список ячеек и вставлю..., вставка будет принята. позвольте мне посмотреть, смогу ли я настроить это .. в любом случае спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Джепсон, вам удалось решить проблему копирования и вставки в несколько ячеек? Заранее спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Дилип, можешь ли ты решить проблему с разрешением данных с использованием вставляемых значений.. я тоже столкнулся с той же проблемой.. помоги мне в этом, пожалуйста
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Дилип, можешь ли ты решить проблему разрешения данных с использованием значений вставки?
Этот комментарий был сведен к минимуму модератором на сайте
Вам удалось решить проблему копирования и вставки в несколько ячеек? Заранее спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Нет, я не разобрался. Я не пытался решить через некоторое время.
Этот комментарий был сведен к минимуму модератором на сайте
Я работаю, НО после того, как вы введете код, вы не сможете ничего ОТМЕНИТЬ. Ни шагу назад не позволено.
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL