工作表复制错误VBA

我有以下问题。 我写了一个macros从一个工作簿复制到另一个工作簿。 Howebver,在复制目标的行我收到一个“应用程序定义或对象定义的错误”我用另一个新的工作testing代码,它的工作原理,但不是与我试图实现它的工作簿。

Dim x As Workbook Set x = Workbooks.Open("S:\INM\MME9EG\Zahlenwerk MMA2EG Equities\DHN\DHN_Europa.xls") Workbooks("DHN_Europa.xls").Sheets("Bericht_799026").Range("B4:IV150000").Copy _ ThisWorkbook.Sheets("DHN Europe 799026").Range("A1") 

使用工作簿variables的全部要点是
replaceWorkbooks("DHN_Europa.xls")但variables名称,
这里x (顺便说一句,尝试有更多的显式variables的名称,它会更容易!))


因为这是一个xls文件,所以你可能只有大约65k行,而你却试图复制更多的东西!

 Dim x As Workbook Set x = Workbooks.Open("S:\INM\MME9EG\Zahlenwerk MMA2EG Equities\DHN\DHN_Europa.xls") x.Sheets("Bericht_799026").Range("B4:IV60000").Copy _ ThisWorkbook.Sheets("DHN Europe 799026").Range("A1") 

尝试这个:

 Dim x As Workbook Set x = Workbooks.Open("S:\INM\MME9EG\Zahlenwerk MMA2EG Equities\DHN\DHN_Europa.xls") x.Sheets("Bericht_799026").Range("B4:IV150000").Copy ThisWorkbook.Sheets("DHN Europe 799026").Range("A1").PasteSpecial xlPasteAll 

当然,您需要确保具有这些名称的工作表存在

它可能是一个Excel版本问题,其中2007年以前的版本有65k左右的最大行数

尝试

 With Workbooks.Open("S:\INM\MME9EG\Zahlenwerk MMA2EG Equities\DHN\DHN_Europa.xls").Sheets("Bericht_799026") Intersect(.UsedRange, .Range("B4:IV4").Resize(.Rows.count - 3)).Copy _ ThisWorkbook.Sheets("DHN Europe 799026").Range("A1") End With