[英]Excel VBA: copy excel columns from one file to other file (in different folder) of same name
[英]Excel VBA - Import from a file in the same folder with an arbitrary name but a specific number at the end
我希望能夠從同一文件夾中的文件導入數據,但是調用的名稱並不重要,但末尾的數字確實可以。 目前我有
Sub Import_Data()
Dim rng As Range
Dim WB2 As Workbook
Dim FName As String
Dim c1 As Worksheet
Set c1 = Sheets("c")
FName = Application.ActiveWorkbook.Path + "_w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00")
Set WB2 = Workbooks.Open(Filename:=FName)
c1.Range("L2:O6").Value = WB2.Worksheets(3).Range("M2:P6").Value
c1.Range("L14:O18").Value = WB2.Worksheets(3).Range("M14:P18").Value
WB2.Close
End Sub
我想將以下行從
FName = Application.ActiveWorkbook.Path + "_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中,我希望它從“ Alternate w23”中導入
我希望這是有道理的。 謝謝
編輯-替代
如果這不可能,那么如果前幾周的文件與當前文件具有相同的名稱,則該文件也將起作用。 因此,如果活動工作簿被稱為“ Workbook w23”,則它將在同一文件夾中找到“ Workbook w22”。 但是,可能需要概括表的名稱。 因此,與原來的建議“最后一個2位數字之前的任何名稱”不同 ,它將與活動工作簿的名稱相同,末尾有2個不同的數字
如果我的解釋正確,那么您只需要一個通配符:
FName = Dir(Application.ActiveWorkbook.Path & "\\*w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00") & ".xlsm")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.