VBA Excel粘贴工作,PasteSpecial不工作

我试图通过复制粘贴到另一个工作表从多张电子表格中导出范围(如csv)。 这适用于Paste函数,但不适用于PasteSpecial函数。

这可以:

Sheets("Company").Select Range("Company_Data").Select Selection.Copy Workbooks.Add ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:= _ "D:\Documents and Settings\Charles\Development\G4H Dev\Book3.csv" _ , FileFormat:=xlCSV, CreateBackup:=False Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True 

但是这返回错误1004

 `Sheets("Output").Select Range("Output_Data").Select Selection.Copy Workbooks.Add ActiveSheet.PasteSpecial xlPasteValues ActiveWorkbook.SaveAs Filename:= _ "D:\Documents and Settings\Charles\Development\G4H Dev\Book2.csv" _ , FileFormat:=xlCSV, CreateBackup:=False Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True 

我已经尝试了各种选项,包括

 format:=xlPasteValues 

但是在我自己的参考书的MS文档中找不到任何东西,除了最粗略的(而且是无益的)处理之外,似乎什么也不做。

使用xlPasteValuesPasteSpecial版本适用于Range对象,而不适用于Worksheet版本:

 ActiveCell.PasteSpecial xlPasteValues