通过使用VBA打开工作簿时出错

我已经尝试了几种方法在一个工作簿中打开一个单独的工作簿,但始终得到错误消息应用程序定义或对象定义的错误,以下是我的代码:

Sub PrepaidImport() Dim x As Workbook, y As Workbook, vals As Variant, MyFile1 As String, MyFile2 As String MyFile1 = Application.GetOpenFilename() Set x = Workbooks.Open(MyFile1) End Sub 

下面的代码也会得到相同的错误:

 Sub PrepaidImport() Dim x As Workbook, y As Workbook, vals As Variant, MyFile1 As String, MyFile2 As String Set x = Workbooks.Open("M:\Company\2014\YTD 2014 Prepaid Assets.xlsx") End Sub 

下面的代码得到一个diff错误,因为我试图打开一个二进制工作簿:

 Sub PrepaidImport() Dim y as Workbook Set y = Workbooks.Open("Y:\Branch\Prepaid Assets Amortization Import Template.xlsb") End Sub 

这是我的整个代码:

 Sub PrepaidImport() Dim x As Workbook, y As Workbook, vals As Variant, MyFile1 As String, MyFile2 As String Set x = Workbooks.Open("M:\Company\2014\YTD 2014 Prepaid Assets.xlsx") Set y = Workbooks.Open("Y:\Branch\Prepaid Assets Amortization Import Template.xlsb") vals = x.Worksheets("11.2014").Range("A6", "A" &x.Worksheets("11.2014").Range("A6").End(xlDown)).Value Set y.Worksheets("Journal_Details").Range("Y1").Value = vals x.Close End Sub 

这些文件被打开,但错误消息popup,使我无法运行后续的代码。 我在Excel 2007上。

请帮忙!

问题出在你的倒数第二行,你不应该在赋值行前面有“set”语句,也就是说它应该是

 y.Worksheets("Journal_Details").Range("Y1").Value = vals