【发布时间】:2018-06-13 21:05:39
【问题描述】:
所以我试图从一本书复制到另一本书。我在网上到处搜索,但是,我必须管理员,我不喜欢 VBA,所以要正确理解人们提供的解决方案。我写的代码是这样的。 一步步: 我定义变量。定义与我要打开的文件相对应的年、月和日的取值范围。我打开文件。我将目标书设置为我当前的书(我放置按钮的位置)。然后我想找到我的选项卡的自动范围(因为每天都在变化)并且我对列(-5,因为我不需要最后 5 列)和行进行计数,如各种课程中讨论的那样。但是..我打开这本书(wkbk)后代码停止了。这是为什么?出来的错误是:application defined or object defined error。
Sub Opentrading()
Dim FolderPath As String
Dim Path As String
Dim nyear As String
Dim nmont As String
Dim nday As String
Dim wkbk As Workbook
Dim mybook As Workbook
Dim LastRow As Long
Dim LastColumn As Long
Dim StartCell As Range
Dim sht As Worksheet
FolderPath = "F:\FICM\Trading Runs\Daily Trading Runs"
nyear = Sheet6.Range("J3")
nmont = Sheet6.Range("J5")
nday = Sheet6.Range("J7")
Path = FolderPath & "\" & nyear & "-" & nmont & "-" & nday & " Trading - Southern_Europe" & ".xlsx"
Set mybook = ThisWorkbook
Set wkbk = Workbooks.Open(Path)
Set sht = wkbk.Sheets("Southern_Europe")
'Find Last Row and Column
Set StartCell = Range("D1")
LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).Row
LastColumn = sht.Cells(StartCell.Row, sht.Columns.Count).End(xlToLeft).Column
'Select Range
wkbk.Worksheets("Southern_Europe").Range(StartCell, sht.Cells(LastRow, LastColumn - 5)).Copy mybook.Worksheets("Prova").Range("Z1")
wkbk.Close
End Sub
【问题讨论】:
-
哪一行错误?
-
运行时错误'1004':应用程序定义或对象定义错误
-
Saverio,SJR 的问题是错误出现在哪一行。
-
在 wkbk=open(path) 之后,只要程序打开文件(使用 f8 或运行整个代码),就会出现错误
-
@Saverio - 工作表
"Southern_Europe"存在吗?