Excel VBA-копирование значений ячеек *без * проверки данных

У меня небольшая проблема с копированием ячеек с одного листа на другой в Excel VBA. Исходный лист содержит отдельную запись клиента, хранящуюся в одной строке. Лист назначения является сбор таких записей, сложенных рядами. Важно держать их отдельно для конфиденциальности.

Я создал макрос для копирования источника в целевую книгу, копирования ячеек из источника и вставки их в первую пустую строку целевого листа. Так как они оба содержат ту же информацию, я применил ту же проверку данных к соответствующим ячейкам на каждом листе, в основном выпадающие списки.

однако исходные и целевые листы создаются в разных книгах. При копировании ячеек из источника в Назначение выполняется проверка данных. Ячейки, вставленные в назначение, теперь ссылаются на ячейки в источнике для заполнения их раскрывающихся списков. Ссылка обычно разрывается, разбивая раскрывающийся список и запрашивая пользователя каждый раз, когда назначение открытый.

то, что я хотел бы сделать, это скопировать значения в исходных ячейках без копирования проверки данных. Как я уже говорил ранее, проверка данных одинакова на каждом листе (за исключением того, что они относятся к листам разных книг), поэтому все значения должны проверяться в любом случае.

вот пример моего копирования код:

Sub copyNoValidation(wkbDestination as ThisWorkbook, oRange as Range, cellDest As Range)
    wkbDestination.Worksheets("Source").Range(oRange).Copy
    cellDest.PasteSpecial xlPasteValues
End Sub

Спасибо за помощь!

18
задан mykrus
05.02.2023 1:48 Количество просмотров материала 3285
Распечатать страницу

1 ответ

легко скопировать и после этого извлечь любое ДВ в назначении:

Sub KopyPaste()
    Dim r1 As Range, r2 As Range
    Set r1 = Range("A1")
    Set r2 = Range("A2")
    r1.Copy r2
    r2.Validation.Delete
End Sub
0
отвечен Gary's Student 2023-02-06 09:36

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх