У меня небольшая проблема с копированием ячеек из одного рабочего листа в другой в Excel VBA. Исходный лист содержит индивидуальную запись клиента, хранящуюся в одной строке. Целевой лист представляет собой набор таких записей, составленных ряд за рядом. Важно хранить их отдельно для конфиденциальности.
Я построил макрос, чтобы скопировать источник в книгу назначения, скопировать ячейки из источника и вставить их в первую пустую строку листа назначения. Поскольку они оба содержат одинаковую информацию, я применил одну и ту же проверку данных к соответствующим ячейкам в каждом листе, в основном из раскрывающихся списков.
Тем не менее, исходные и конечные листы происходят из разных рабочих книг. Когда я копирую ячейки из источника в место назначения, идет проверка данных. Ячейки, вставленные в Destination, теперь ссылаются на ячейки в Source, чтобы заполнить их выпадающие списки. Ссылка обычно разрывается, прерывая раскрывающийся список и запрашивая пользователя при каждом открытии пункта назначения.
Что я хотел бы сделать, это скопировать значения в ячейках источника без копирования проверки данных. Как я уже говорил ранее, проверка данных одинакова на каждом листе (за исключением того, что они ссылаются на разные рабочие книги листов), поэтому все значения должны быть проверены в любом случае.
Вот пример моего кода для копирования:
Sub copyNoValidation(wkbDestination as ThisWorkbook, oRange as Range, cellDest As Range)
wkbDestination.Worksheets("Source").Range(oRange).Copy
cellDest.PasteSpecial xlPasteValues
End Sub
Спасибо за вашу помощь!