VBA 提取文件名称填充到Excel表中

Microsoft office 组件Excel是日常工作中使用最多的制表和数据处理工具。尤其是在财务工作中,大量使用Excel。税务局还专门制作了报税的Excel固定格式,方便导入他们的管理系统之中。

VBA 提取文件名称填充到Excel表中

比如,按照小企业会计准则制定的这一整套表格,包括资产负债表、利润表、现金流等。如果我们需要对多个企业的数据进行汇总,就会发现很多不便。首先就是表格里面没有企业名称,只有纳税人识别号,而企业名称是用来命名文件了。

VBA 提取文件名称填充到Excel表中

现在要做的就是把这些企业名称提取到Excel表中,方便后面的数据提取。我们使用Excel自带VBA工具编写代码实现。

VBA 提取文件名称填充到Excel表中

创建一个叫“汇总表.xlsx"的Excel文件,在菜单栏找到“开发工具”,点击左侧的“Visual Basic”。如果打开Excel没有找到“开发工具”,就依此点击“文件”》“选项”》“自定义功能区”,在操作面板右侧勾选“开发工具”,然后确定。除了这种方式,还可以使用快捷键“ALT + F11”打开VBA操作界面VBE(Visual Basic Editor)。

VBA 提取文件名称填充到Excel表中

接着,创建一个模块,编写相应的代码。

<code>Sub GetFilename()
Dim iPath As String
Dim iFile As String
Dim k As Integer

'获取目标文件的存储目录
iPath = ActiveWorkbook.Path & "\\各公司财务报表\"
'MsgBox iPath
'将“汇总表”的第2个工作表A列清空
ActiveWorkbook.Sheets(2).[a:a].ClearContents
'a1单元个填写“目录”

ActiveWorkbook.Sheets(2).[a1] = "目录"
'使用Dir()方法,提取所有xls文件的文件名
iFile = Dir(iPath & "*.xls")
'MsgBox iFile
'使用Do While …… Loop循环遍历所有xls文件
k = 1
Do While iFile <> ""
k = k + 1
'将取到的xls文件名iFile填充到单元格中,并去掉后缀
ActiveWorkbook.Sheets(2).Cells(k, 1) = Replace(iFile, ".xls", "")
'查找下一个
iFile = Dir
Loop
End Sub/<code>

按F5执行代码,就会看到文件名称都被提取到一列中了。

VBA 提取文件名称填充到Excel表中


分享到:


相關文章: