![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iY2QmY4MDN3cTNyYGOhljZ0EGN3ATO5MmY0QmY2M2Ny8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
今天接到一個需求,用VBA将一個檔案夾内的檔案配置設定到不同的檔案夾中,我用了幾行代碼就解決了,現在我來分享給大家。
現在,檔案夾内有一些檔案,如圖:
我們可以根據自己的需求在Excel表格裡将檔案結構編寫一下,如圖:
然後,打開VBA編輯器,加入以下代碼
00 Sub main()01 Dim fso02 Dim myPath$03 myPath = ThisWorkbook.Path & ""04 Set fso = CreateObject("Scripting.FileSystemObject")05 On Error Resume Next06 For i = 1 To [A1].End(xlToRight).Column07 MkDir (myPath & Cells(1, i))08 If Cells(2, i) <> "" Then09 For j = 2 To Cells(65536, i).End(xlUp).Row10 If Dir(myPath & Cells(j, i)) <> "" Then11 'fso.CopyFile myPath & Cells(j, i), myPath & Cells(1, i) & ""'複制12 fso.MoveFile myPath & Cells(j, i), myPath & Cells(1, i) & "" '移動13 End If14 Next15 End If16 Next17 On Error GoTo 018 Set fso = Nothing19 End Sub
寫過這麼多期了,估計大家也已經輕車熟路了,是以就不一一講解了,如果有不明白的地方,可以私信或評論問我,我一定會回答大家。
其中,主要運用了以下幾個知識點,
1.MkDir語句:建立目錄或檔案夾
2.Dir 函數:傳回特定檔案名(檔案夾名),沒有找到則傳回“”
3.FileSystemObject 對象的MoveFile方法:将一個或多個檔案從一個位置移動到另一個位置
4.FileSystemObject 對象的CopyFile方法:将一個或多個檔案從一個位置複制到另一個位置
最後,我們來看一下最終效果:
最終效果
大家可以點開下面連結,檢視我的其他文章哦!
848個Excel VBA 實用技巧,執行個體+詳細解析,入門必看,建議收藏
Excel VBA 之 去除重複項
Excel VBA 之 年會抽獎小程式
Excel VBA 之 将txt文檔批量導入至Excel
Excel VBA 之 統計詞彙出現次數
Excel VBA 之 随機抽取資料
。。。
喜歡本文章的朋友記得收藏、點贊、關注哦,網友們如果在Excel中遇到問題都可以找我交流,也可以在評論區或私信告訴我你想看到的VBA辦公教程,我将在下期分享給大家,以後不定期更新Excel VBA技巧!