Excel中VBA提取文件夹名称的方法

Excel中VBA提取文件夹名称的方法,第1张

文章介绍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的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9710089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存