我希望能够从同一文件夹中的文件导入数据,但它与所谓的无关,但最后的数字确实如此。目前,我有Excel VBA - 从同一文件夹中的任意名称导入,但末尾有一个特定的数字
Sub Import_Data()
Dim rng As Range
Dim WB2 As Workbook
Dim FName As String
Dim ChampSpecific1 As Worksheet
Set ChampSpecific1 = Sheets("Summary-Champion Specific")
FName = Application.ActiveWorkbook.Path + "\AIMS_Report_w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00")
Set WB2 = Workbooks.Open(Filename:=FName)
ChampSpecific1.Range("L2:O6").Value = WB2.Worksheets(3).Range("M2:P6").Value
ChampSpecific1.Range("L14:O18").Value = WB2.Worksheets(3).Range("M14:P18").Value
WB2.Close
End Sub
我想下面一行从
FName = Application.ActiveWorkbook.Path + "\AIMS_Report_w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00")
更改为类似
FName = Application.ActiveWorkbook.Path + *Any Name before the last 2 digits* & Format((WorksheetFunction.WeekNum(Now) - 1), "00")
所以基本上不会看表的名称,但会看在最后2位数字。
周数在文件夹中始终是唯一的,但名称可能不同。 E.g
文件夹可能包含下列文件:
Worksheet 1 w21
Different Name w22
Alternate w23
如果我们在W24,我想它从“备用W23”
我希望这是有道理的进口。由于
编辑 - 替代
如果这是不可能的,这也将工作,如果前周文件具有相同的名称作为当前文件。因此,如果活动工作簿被称为“Workbook w23”,那么它会在同一个文件夹中找到“Workbook w22”。但是它需要能够概括表格的名称。所以代替任何名称的最后2位数字前的原建议,这将是相同的名称,并在最后2个不同的数字活动工作簿
重读,我觉得这可能不是解决你的问题。如果这不是你想要的,请澄清,我会编辑我的答案。 – StevenWalker
这是我想要的,当我这样做,但它说它无法找到文件* 30.xlsx。出于某种原因,它将采用通配符作为实际值,* – Dullspark
Debug.Print完整文件名以确保它符合您的期望?我注意到在你的例子中,文件可能出现在目录中:\ AIMS_Report_w - 检查以确保完整的路径和文件名匹配它应该是的,并让我知道。 – StevenWalker