天天看點

vba移動檔案_Excel VBA 之 按需求移動、複制檔案

vba移動檔案_Excel VBA 之 按需求移動、複制檔案

今天接到一個需求,用VBA将一個檔案夾内的檔案配置設定到不同的檔案夾中,我用了幾行代碼就解決了,現在我來分享給大家。

現在,檔案夾内有一些檔案,如圖:

vba移動檔案_Excel VBA 之 按需求移動、複制檔案

我們可以根據自己的需求在Excel表格裡将檔案結構編寫一下,如圖:

vba移動檔案_Excel VBA 之 按需求移動、複制檔案

然後,打開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方法:将一個或多個檔案從一個位置複制到另一個位置

最後,我們來看一下最終效果:

vba移動檔案_Excel VBA 之 按需求移動、複制檔案

最終效果

大家可以點開下面連結,檢視我的其他文章哦!

848個Excel VBA 實用技巧,執行個體+詳細解析,入門必看,建議收藏

Excel VBA 之 去除重複項

Excel VBA 之 年會抽獎小程式

Excel VBA 之 将txt文檔批量導入至Excel

Excel VBA 之 統計詞彙出現次數

Excel VBA 之 随機抽取資料

。。。

喜歡本文章的朋友記得收藏、點贊、關注哦,網友們如果在Excel中遇到問題都可以找我交流,也可以在評論區或私信告訴我你想看到的VBA辦公教程,我将在下期分享給大家,以後不定期更新Excel VBA技巧!

繼續閱讀