文章介绍excel中使用vba提取文件名的 *** 作步骤。根据需要自行修改vba提取文件名的路径和存放单元格即可。
在excel中使用VBA编写代码,可以轻松的提取某个文件夹下面的所有文件名。
比如笔者在F盘下面建立了一个文件夹,文件夹的名称是:office教程网,现在想将“office教程网”这个文件夹下面的所有文件名提取出来放在当前工作表的C列。
具体的vba提取文件名的 *** 作如下:
1按下ALT+F11,打开VBE编辑器。
2执行“插入——模块”,插入模块1。
3在右边的代码编辑窗口,复制下面的代码,然后单击“绿色箭头”或者快捷键F5键,运行代码。
Private Sub vba提取文件名()
Dim FileName As String
Dim i As Long
FileName = Dir("F:\office教程网\")
i = 0
Range("C:C")ClearContents
Do While FileName > ""
i = i + 1
Cells(i, 3) = FileName
FileName = Dir
Loop
End Sub
4关闭VBE窗口,回到工作表中,可以在C列看到F盘“office教程网”文件夹下面所有的文件名全部罗列在C列了。
关于上面的vba提取文件名的代码,请在实际使用时,根据需要修改提取文件名的路径(F:\office教程网\),以及存放在C列的位置(Cells(i, 3))。
Sub readsubfolders()
i = Cells(RowsCount, 1)End(3)Row
Set fso = CreateObject("scriptingfilesystemobject")
Set myfolder = fsoGetFolder("D:\a") '引号内填写文件夹a的完整路径
For Each myfile In myfolderFiles
If myfileName Like "xls" Then
Set wb = WorkbookOpen(myfilePath)
i = i + 1
Cells(i, 1) = wbName
Cells(i, 2) = wbWorksheets("餐饮费用")[b2]
Set rg = wbWorksheets("餐饮费用")UsedRangeFind(What:="供货商地址", LookIn:=xlValues, LookAt:=xlWhole)
Cells(i, 3) = rgOffset(1)
Cells(i, 4) = rgOffset(2)
Set rg = wbWorksheets("餐饮费用")UsedRangeFind(What:="承包商地址", LookIn:=xlValues, LookAt:=xlWhole)
Cells(i, 5) = rgOffset(1)
Cells(i, 6) = rgOffset(2)
Set rg = wbWorksheets("餐饮费用")UsedRangeFind(What:="进货详单内容2", LookIn:=xlValues, LookAt:=xlWhole)
Cells(i, 7) = rgOffset(, 1)
wbClose False
End If
Next
Set fso = Nothing
End Sub
1、将程序文件存在一个单独的工作簿内,该工作簿后缀名为“XLSM”。
2、将该程序文件挂到Excel的其他命令-宏命令下,对应的图标会在工具栏显示,与Excel的其他命令标签类似。
3、打开其他的工作簿后,点击步骤2的图标,即可 *** 作数据。
以上就是关于Excel中VBA提取文件夹名称的方法全部的内容,包括:Excel中VBA提取文件夹名称的方法、VBA怎么在文件夹内,提取EXCEL的特定内容、如何将VBA做的带有窗体的程序与其他Excel分离开,如果打开多个Excel时,VBA会提取其他Excel的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)