Excel 获取';文件名';这是在脚本中声明的
基本上每次我得到一张新的工作表时,我都希望同时得到文件名并将其放在单元格Excel 获取';文件名';这是在脚本中声明的,excel,vba,Excel,Vba,基本上每次我得到一张新的工作表时,我都希望同时得到文件名并将其放在单元格B2中 但是,我无法调用文件名将其放置在任何单元格中 Sub GetSheets() Path="C:\Users\momo\Desktop\Miscellaneous Shipment Packing List\New folder\" Filename = Dir(Path & "*.xls") Do While Filename <> "" Workbooks
B2
中
但是,我无法调用文件名将其放置在任何单元格中
Sub GetSheets()
Path="C:\Users\momo\Desktop\Miscellaneous Shipment Packing List\New folder\"
Filename = Dir(Path & "*.xls")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Call runDel
Loop
End Sub
Sub-GetSheets()
Path=“C:\Users\momo\Desktop\Miscellaneous Shipping Packing List\New folder\”
Filename=Dir(路径&“*.xls”)
文件名“”时执行此操作
工作簿。打开文件名:=路径和文件名,只读:=真
对于ActiveWorkbook.Sheets中的每个工作表
Sheet.Copy After:=此工作簿.Sheets(1)
下一页
工作簿(文件名)。关闭
Filename=Dir()
打电话给伦德尔
环
端接头
如果您的其余代码当前正在工作,请在以下时间之后立即执行:
Sheet.Copy After:=此工作簿.Sheets(1)
您应该能够添加:
thiswook.Sheets(2).Range(“B2”).Value=Filename
像这样:
Sub GetSheets()
Path = "C:\Users\momo\Desktop\Miscellaneous Shipment Packing List\New folder\"
Filename = Dir(Path & "*.xls")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
ThisWorkbook.Sheets(2).Range("B2").Value = Filename
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Call runDel
Loop
End Sub
Sub-GetSheets()
Path=“C:\Users\momo\Desktop\Miscellaneous Shipping Packing List\New folder\”
Filename=Dir(路径&“*.xls”)
文件名“”时执行此操作
工作簿。打开文件名:=路径和文件名,只读:=真
对于ActiveWorkbook.Sheets中的每个工作表
Sheet.Copy After:=此工作簿.Sheets(1)
ThisWorkbook.Sheets(2).Range(“B2”).Value=文件名
下一页
工作簿(文件名)。关闭
Filename=Dir()
打电话给伦德尔
环
端接头
如果您试图找出如何引用新创建的工作表上的单元格,或者如果只是文件名而没有您试图检索的路径,那么以下操作应该有效
使用Dir(Path&“*.xls”)设置文件名变量后,您可以使用[Right]和[InstrRev]函数组合提取文件名,如下所示:
范围(“B2”)=右(文件名,Len(文件名)-InstrRev(文件名“\”))
要引用新创建的工作表上的单元格,由于在工作表(1)之后插入了工作表,索引将为2。可通过以下方式引用:
ThisWorkbook.Sheets(2).Range(“B2)=文件名
例如:
Sub-GetSheets()
'更新Excel Junction.com
Path=“C:\Users\momo\Desktop\Miscellaneous Shipping Packing List\New folder\”
Filename=Dir(路径&“*.xls”)
文件名“”时执行此操作
工作簿。打开文件名:=路径和文件名,只读:=真
对于ActiveWorkbook.Sheets中的每个工作表
Sheet.Copy After:=此工作簿.Sheets(1)
下一页
ThisWorkbook.Sheets(2).Range(“B2”)=右(文件名,Len(文件名)-InStrRev(文件名,“\”)
工作簿(文件名)。关闭
Filename=Dir()
打电话给伦德尔
环
末端接头
0@BigBen-answer已编辑以指向此工作簿中最高工作表索引的工作表您是对的@BigBen我假设索引像代码名一样工作,但它依赖于工作表的顺序。我将其编辑为工作表(2)。感谢您的帮助!没问题-回答很好!