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:

повне г, повне г,, показали, від, номер, XNUMX Випадаючий список із прапорцями корисність Kutools для Excel може допомогти вам легко створити розкривний список із прапорцями у зазначеному діапазоні, поточний робочий аркуш, поточна книга або всі відкриті книги відповідно до ваших потреб.
Завантажте повну версію 30-денний безкоштовний слід Kutools для Excel зараз!


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

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

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

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

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

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


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

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

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

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 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 Якщо Target.Count > 1 Потім вийдіть із Sub End, якщо Application.EnableEvents = False xValue = Target.Value On Error1 Next = Цільове значення після помилки. Validation.InCellDropdown On Error GoTo 0 Application.Undo On Error Resume Next xCheck2 = Target.Validation.InCellDropdown On Error GoTo 0 Якщо xCheck1 = xCheck2 Then Target = xValue Else MsgBox «Вставка не дозволена!» End If Application.EnableEvents = True End Sub Цей макрос не працює під час копіювання з іншої книги або аркуша, тому, будь ласка, скажіть мені, як уникнути цих речей
Цей коментар був мінімізований модератором на сайті
Дуже дякую !! у мене добре працює!!! копіювання в одну клітинку обмежено. але якщо я скопіюю список комірок і вставлю..., вставка буде прийнята. дайте мені подивитися, чи зможу я це налаштувати .. все одно дякую
Цей коментар був мінімізований модератором на сайті
Джепсон, чи вдалося вам вирішити проблему копіювання та вставки в кілька клітинок? Спасибі заздалегідь!
Цей коментар був мінімізований модератором на сайті
Привіт, Діліпе, чи можете ви вирішити проблему дозволу даних за допомогою вставки значень..я також стикаюся з тією ж проблемою..допоможіть мені з цим, будь ласка
Цей коментар був мінімізований модератором на сайті
Привіт, Діліпе, чи можете ви вирішити проблему дозволу даних за допомогою вставки значень
Цей коментар був мінімізований модератором на сайті
чи вдалося вам вирішити проблему копіювання та вставки в кілька клітинок? Спасибі заздалегідь!
Цей коментар був мінімізований модератором на сайті
Ні, я не розібрався. Через деякий час я не намагався вирішити проблему.
Цей коментар був мінімізований модератором на сайті
Я працює, АЛЕ після того, як ви ввели код, ви не можете нічого СКАСУВАТИ. Ні кроку назад не дозволено.
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL