VBA将复制/粘贴转换为value = value会导致错误1004

时间:2016-08-02 22:11:01

标签: excel vba

我正在尝试将一堆单元格范围的复制/粘贴转换为更简单(显然更快)的value = value样式。

基本上我是从这里开始的,

config.xml

到此,

wb1.Sheets(1).Range(Cells(5, i), Cells(vaLastRow, i)).Copy
ThisWorkbook.Sheets(strWorkingTableName).Cells(2, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False

但是当我这样做时,我得到了可怕的“运行时错误'1004';应用程序定义或对象定义错误”。

请帮我弄清楚为什么我会收到这个错误。

2 个答案:

答案 0 :(得分:1)

试试这段代码:

with wb1.Sheets(1).Range(Cells(5, i), Cells(vaLastRow, i))
    thisworkbook.sheets(strWorkingTableName).cells(2,1).resize(.rows.count, .columns.count).value = .value
end with

答案 1 :(得分:-1)

我相信它认为您正在尝试使用=创建某种对象。

我可能会尝试这样的事情:

newvalue = wb1.Sheets(1).Range(Cells(5, i), Cells(vaLastRow, i)).Value
ThisWorkbook.Sheets(strWorkingTableName).Range("your range").Value = newvalue

我相信你也可以这样做:

Thisworkbook.Sheets("sheetname1").Range("your range").Copy wb1.Sheets("sheetname2").Range("your range")