在VBA中粘贴特殊

时间:2014-11-07 13:39:16

标签: excel vba paste

我希望粘贴值以获取以下代码。我尝试使用各种各样的粘贴方式,但它不允许我同时指定文件和我想要做什么类型的粘贴。

要清楚,我正在使用的代码有效,但我想修改它,因此它只粘贴值。

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

谢谢!

1 个答案:

答案 0 :(得分:2)

不使用与工作表对象关联的PasteSpecial,而是使用与目标对象关联的那个:

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

<强> OR

您可以直接使用这些值并避免使用剪贴板(在宏运行时,您可能会尝试将其用于其他内容):

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