Как предотвратить копирование и вставку в ячейку с выпадающим списком в Excel?
Для ячейки с выпадающим списком проверки данных при копировании содержимого из другой ячейки и вставке его в эту ячейку, выпадающий список исчезнет и будет заменен новым вставленным содержимым. В некоторых случаях вы хотите предотвратить копирование и вставку другого содержимого поверх ячейки с выпадающим списком, что бы вы сделали для решения этой проблемы? В этой статье вы получите метод VBA для решения этой задачи.
Предотвращение копирования и вставки в ячейку с выпадающим списком в Excel
Предотвращение копирования и вставки в ячейку с выпадающим списком в Excel
1. Откройте лист с ячейкой выпадающего списка, для которой вы хотите предотвратить копирование и вставку.
2. Нажмите клавиши Alt + F11 одновременно, чтобы открыть окно Microsoft Visual Basic Applications.
3. В окне Microsoft Visual Basic Applications дважды щелкните имя текущего листа в левой панели, затем скопируйте и вставьте следующий код 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. Нажмите клавиши Alt + Q, чтобы закрыть окно Microsoft Visual Basic Applications.
5. Когда вы вставляете содержимое в ячейку с выпадающим списком, появится диалоговое окно, которое напомнит вам, что вставка запрещена. См. скриншот:
Примечание: Этот код VBA работает только при вставке в одну ячейку. Если вы копируете и вставляете в несколько ячеек, он не будет работать.
Легко создайте выпадающий список с флажками в Excel:
Утилита Добавить флажки в выпадающий список из Kutools for Excel может помочь вам легко создать выпадающий список с флажками в указанном диапазоне, на текущем листе, в текущей книге или во всех открытых книгах в зависимости от ваших потребностей.
Скачайте полную версию 30-дневной бесплатной пробной версии Kutools для Excel прямо сейчас!
Связанные статьи:
Как создать выпадающий список с несколькими флажками в Excel?
Многие пользователи Excel предпочитают создавать выпадающий список с несколькими флажками, чтобы выбирать несколько элементов из списка за раз. На самом деле, вы не можете создать список с несколькими флажками с помощью проверки данных. В этом руководстве мы покажем вам два метода создания выпадающего списка с несколькими флажками в Excel. Это руководство предоставляет метод решения проблемы.
Создание выпадающего списка из другой книги в Excel
Очень легко создать выпадающий список проверки данных между листами внутри одной книги. Но если данные списка, необходимые для проверки данных, находятся в другой книге, что бы вы сделали? В этом руководстве вы узнаете, как создать выпадающий список из другой книги в Excel подробно.
Создание поискового выпадающего списка в Excel
Для выпадающего списка с множеством значений найти подходящее значение непросто. Ранее мы представили метод автозаполнения выпадающего списка при вводе первой буквы в поле выпадающего списка. Помимо функции автозаполнения, вы также можете сделать выпадающий список доступным для поиска, чтобы повысить эффективность работы при поиске подходящих значений в выпадающем списке. Чтобы сделать выпадающий список доступным для поиска, попробуйте метод из этого руководства.
Автоматическое заполнение других ячеек при выборе значений в выпадающем списке Excel
Допустим, вы создали выпадающий список на основе значений в диапазоне ячеек B8:B14. При выборе любого значения из выпадающего списка вы хотите, чтобы соответствующие значения в диапазоне ячеек C8:C14 автоматически заполнялись в выбранной ячейке. Для решения этой проблемы методы из этого руководства помогут вам.
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!