Перейти до основного матеріалу

Як запобігти копіюванню та вставці комірки зі спадним списком у 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 для Excel може допомогти вам легко створити розкривний список із прапорцями у зазначеному діапазоні, поточний робочий аркуш, поточна книга або всі відкриті книги відповідно до ваших потреб.
Завантажте повну 30-денну безкоштовну версію Kutools для Excel зараз!


Статті по темі:

Як створити випадаючий список із декількома прапорцями в Excel?
Багато користувачів Excel, як правило, створюють випадаючий список із декількома прапорцями, щоб вибирати кілька елементів зі списку за раз. Насправді ви не можете створити список із кількома прапорцями за допомогою перевірки даних. У цьому підручнику ми покажемо вам два способи створення випадаючого списку з декількома прапорцями в Excel. Цей посібник пропонує метод вирішення проблеми.

Створіть випадаючий список з іншої книги в Excel
Створити випадаючий список перевірки даних серед робочих аркушів у книзі досить просто. Але якщо дані списку, необхідні для перевірки даних, знаходяться в іншій книзі, що б ви зробили? У цьому посібнику ви дізнаєтесь, як детально створити випадаючий список з іншої книги в Excel.

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

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

Більше підручників для випадаючого списку ...

Найкращі інструменти продуктивності офісу

Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

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

вкладка kte 201905


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I works BUT after you put the code you cannot UNDO anything. Not a single step back is allowed.
This comment was minimized by the moderator on the site
No, I did not figure it out. I didn't try to resolve after a while.
This comment was minimized by the moderator on the site
did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
This comment was minimized by the moderator on the site
Hi Dilip, are you able to fix the issue of allowing data using paste values
This comment was minimized by the moderator on the site
Hi Dilip, are you able to fix the issue of allowing data using paste values..i am also facing the same issue..help me on this please
This comment was minimized by the moderator on the site
Thank you very much !! works fine for me !!! copying into a single cell is restricted. but if i copy a list of cells and paste.., the paste is accepted. let me see if i can tune this up ..thanks anyways
This comment was minimized by the moderator on the site
Jepson, did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
This comment was minimized by the moderator on the site
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 On Error GoTo 0 Application.Undo On Error Resume Next xCheck2 = Target.Validation.InCellDropdown On Error GoTo 0 If xCheck1 = xCheck2 Then Target = xValue Else MsgBox "No pasting allowed!" End If Application.EnableEvents = True End Sub This Macro not work when copy from different workbook or worksheet then so please tell me how to avoid these things also
This comment was minimized by the moderator on the site
Hi, above mention vba code is not run.kindly resolve.
This comment was minimized by the moderator on the site
Hi, While I running this macro I got this debug error "Application.Undo". Pls resolve this ASAP
This comment was minimized by the moderator on the site
This works but when I paste value this is allowing data which is not from the drop down list. Any way to restrict any value which is not from the list.
This comment was minimized by the moderator on the site
Hi Dilip, Did you able to resolve the issue, i too having similar issue. I have to allow copy,paste only for drop down values in the data validation cell other i have to restrict. Can you share your solution. Thanks Rao
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations