我有以下宏 -
Sub Import_Data()
Dim rng As Range
Dim WB2 As Workbook
Dim FName As String
Dim c1 As Worksheet
Set c1 = Sheets("c")
FName = Dir(Application.ActiveWorkbook.Path & "\*w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00") & ".xlsm")
Set WB2 = Workbooks.Open(Filename:=FName)
c1.Range("L2:O6").Value = WB2.Worksheets(2).Range("M2:P6").Value
c1.Range("L14:O18").Value = WB2.Worksheets(2).Range("M14:P18").Value
WB2.Close
End Sub
当我运行它时,我收到以下错误
因此,工作表在那里,我可以打开工作表,但由于某种原因它不会接受它。另外,奇怪的是,如果我更改了工作表的文件名,它正在寻找" Fruit w32.xlsm",当我运行宏时,狂野的人会发现& #34;水果"但它只会说" Fruit"在图片的空白处
它工作得很好,但现在它有实际问题,我不明白为什么。任何想法?
编辑:如果我摆脱了Dir()部分它可以正常工作
答案 0 :(得分:2)
Dir函数仅在找到时返回文件名,因此您必须在打开时指定路径。
FPath = Application.ActiveWorkbook.Path
FName = Dir(FPath & "\*w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00") & ".xlsm")
Set WB2 = Workbooks.Open(Filename:=FPath & "\" & FName)