子或功能错误

时间:2018-03-28 13:28:29

标签: excel vba excel-vba

我是vba的新手,我想将数据从一个文件夹中的多个工作表传输到一个工作表。我写的程序如下:

Sub LoopThroughDirectory()

Dim MyFile As String
Dim erow
MyFile = Dir("C:\Bulletinwork\")

Do While Len(MyFile) > 0
If MyFile = "Bmaster.xlsm" Then
Exit Sub
End If

Workbooks.Open (MyFile)
Range("A4:I42").Copy
ActiveWorkbook.Close

erow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range(Cells(erow, 1), Cells(erow, 9))

MyFile = Dir

Loop

End Sub

有人可以帮我找到为什么当我尝试运行该程序时,会收到一条错误消息“sub或function not defined”。

肯尼

1 个答案:

答案 0 :(得分:-1)

以下一行会引起一些悲伤:

Workbooks.Open (MyFile)

()表示VBA在运行MyFile命令之前尝试评估Open。当然,MyFile是一个字符串/路径,因此无法运行。

尝试

Workbooks.Open MyFile

代替。