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") 

所以它基本上不会查看表单的名称,但会看到最后两位数字。

周数在文件夹中始终是唯一的,但名称可能不同。 例如

文件夹可能包含以下文件:

 Worksheet 1 w21 Different Name w22 Alternate w23 

如果我们在W24,我想它从“备用W23”

我希望这是有道理的。 谢谢

编辑 – 另类

如果这是不可能的,它也可以工作,如果前几周的文件与当前文件具有相同的名称。 因此,如果活动工作簿被称为“工作簿w23”,那么它会在同一个文件夹中find“工作簿w22”。 但是需要可以概括表单的名称。 所以,而不是最后两位数字之前的任何名称的原始build议,它将是活动工作簿相同的名称与两个不同的数字在结尾

如果我正确地解释你的问题,你只需要一个通配符:

FName = Dir(Application.ActiveWorkbook.Path & "\*w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00") & ".xlsm")