我是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”。
肯尼
答案 0 :(得分:-1)
以下一行会引起一些悲伤:
Workbooks.Open (MyFile)
()
表示VBA在运行MyFile
命令之前尝试评估Open
。当然,MyFile
是一个字符串/路径,因此无法运行。
尝试
Workbooks.Open MyFile
代替。