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表中


分享到:


相關文章: