2014-11-07 3 views
0

Я ищу значения вставки для следующей части кода. Я попытался использовать вставку для разных способов, но не позволяет мне указать как файл, так и тип вставки, который я хочу сделать.Paste Special in VBA

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

Workbooks.Open (path & file) 
ActiveSheet.Paste (Workbooks(file).Sheets(5).Range("A1").End(xlDown).Offset(1, 0)) 
Workbooks(file).Close SaveChanges:=True 

Спасибо!

+0

Вам нужно показать команды 'PasteSpecial', которые вы пробовали. –

ответ

2

Вместо того, чтобы использовать PasteSpecial, связанный с объектом рабочего листа, использовать один, связанный с объектом назначения:

Workbooks(file).Sheets(5).Range("A1").End(xlDown).Offset(1, 0).PasteSpecial xlPasteValues 

ИЛИ

Вы можете работать непосредственно с ценностями и избегать использования буфер обмена (который вы могли бы использовать для других вещей во время работы макроса):

Dim src as Range 
Dim dest as Range 

'Set src to where you had copied from 
Set dest = Workbooks(file).Sheets(5).Range("A1").End(xlDown).Offset(1, 0) 
dest.value = src.value