Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як запобігти копіюванню та вставці комірки зі спадним списком у 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-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

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

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Eva · 4 years ago
    I works BUT after you put the code you cannot UNDO anything. Not a single step back is allowed.
  • To post as a guest, your comment is unpublished.
    Dilip · 4 years ago
    No, I did not figure it out. I didn't try to resolve after a while.
  • To post as a guest, your comment is unpublished.
    arvind raj · 4 years ago
    did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
  • To post as a guest, your comment is unpublished.
    Amit Jain · 4 years ago
    Hi Dilip,

    are you able to fix the issue of allowing data using paste values
  • To post as a guest, your comment is unpublished.
    Amit Jain · 4 years ago
    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
  • To post as a guest, your comment is unpublished.
    jepson · 5 years ago
    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
    • To post as a guest, your comment is unpublished.
      G · 5 years ago
      Jepson, did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
  • To post as a guest, your comment is unpublished.
    Abhijeet · 5 years ago
    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
  • To post as a guest, your comment is unpublished.
    chandan · 5 years ago
    Hi,

    above mention vba code is not run.kindly resolve.
  • To post as a guest, your comment is unpublished.
    Jai · 6 years ago
    Hi,

    While I running this macro I got this debug error "Application.Undo". Pls resolve this ASAP
  • To post as a guest, your comment is unpublished.
    Dilip · 6 years ago
    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.
    • To post as a guest, your comment is unpublished.
      Rao · 5 years ago
      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