KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

在 Excel 中根據資料清單建立多個資料夾與子資料夾

作者Xiaoyang修改日期

假設您的工作表中有一份員工姓名清單,並希望為每位員工建立專屬資料夾以存放相關資訊。手動逐一建立不僅費時,還容易出錯。其實,有更高效的方式能大幅加速此流程!本指南將為您介紹多種快速根據指定儲存格內容自動產生資料夾的實用方法。

包含用於建立資料夾的員工姓名清單之 Excel 工作表截圖

根據儲存格內容建立資料夾

使用 VBA 程式碼根據儲存格值建立資料夾與子資料夾


根據儲存格內容建立資料夾

本節將詳細介紹多種方法,提供完整且逐步的操作指引,讓您能快速輕鬆地根據儲存格值清單建立資料夾。

使用 MD 指令與記事本從清單建立資料夾

運用 MD 指令搭配記事本,將 Excel 清單轉換為資料夾,是一項巧妙結合簡易批次指令碼與 Excel 整理能力的實用技巧。此方法無需手動逐一建立,即可快速大量產生資料夾。以下是完成此任務的逐步指南:

步驟 1:使用 MD 指令創建公式

將下列公式複製或輸入至第一個儲存格值旁的空白儲存格(例如 B1),然後向下拖曳填滿控點,即可將公式套用至所有清單項目。

="MD "&A1

顯示在 Excel 中用於建立資料夾的 MD 指令公式截圖

步驟 2:將公式複製並貼到記事本檔案中

  1. 按下「Ctrl + C」,複製包含 MD 指令公式的儲存格。
  2. 開啟記事本並按「Ctrl + V」將指令貼到生成文件中。
    顯示從 Excel 複製的 MD 指令以建立資料夾的記事本截圖

步驟 3:將記事本檔案儲存為 .bat 檔案

在記事本中,點選「檔案」索引標籤下的「另存新檔」;於彈出的「另存新檔」對話方塊中,選擇您要建立多個資料夾的目標目錄,為此檔案命名並加上 .bat 副檔名,最後點擊「儲存」按鈕。請參閱截圖:
記事本中「另存新檔」對話框的截圖,用於將檔案儲存為 .bat 副檔名

步驟 4:雙擊 .bat 檔案以產生多個資料夾

  1. 關閉記事本檔案,並前往您先前儲存 .bat 檔案的資料夾。
  2. 現在,見證神奇效果:雙擊該檔案,即可同時建立多個資料夾。請參閱下方示範:
    示範如何透過雙擊 .bat 檔案,根據 Excel 值建立多個資料夾
 

使用強大工具 Kutools for Excel 從清單建立資料夾

透過強大的 Kutools for Excel「基於區域建立資料夾」功能,您現在能輕鬆又快速地從 Excel 清單一鍵建立資料夾。不僅如此,Kutools 更支援一次建立多層級子資料夾的複雜結構。只需幾個簡單步驟,即可將 Excel 資料轉化為井然有序的資料夾系統,大幅提升工作效率。

Kutools for Excel 提供超過 300 項進階功能,簡化複雜任務,激發創意並提升效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理變得輕而易舉。Kutools for Excel 詳細資訊……         免費試用……

安裝 Kutools for Excel 後,請按一下「KUTOOLS PLUS」>「匯入匯出」>「基於區域建立資料夾」以開啟基於區域建立資料夾對話方塊:

  1. 選取您要據以建立資料夾的儲存格值;
  2. 接著,按一下用於選取目標資料夾的按鈕截圖按鈕,指定要儲存這些資料夾的目的資料夾;
  3. 最後,點擊「確定」按鈕。
    Excel 中 Kutools「從儲存格內容建立資料夾」對話框的截圖

結果:

Kutools 會自動處理您工作表中的清單,並在指定位置為每個項目建立資料夾。請前往目標資料夾查看結果,詳情請參閱截圖:
顯示由 Kutools for Excel 建立的資料夾輸出結果截圖

提示:
  1. 此實用功能還能協助您依需求建立資料夾及其子資料夾!只需在儲存格中輸入所需的資料夾與子資料夾名稱,並以反斜線(\)分隔每一層級,即可輕鬆設定完整的資料夾結構。每個儲存格的內容將作為建立資料夾與子資料夾的依據。
    顯示根據 Excel 儲存格值建立的資料夾及其子資料夾截圖
    接著,套用「基於區域建立資料夾」功能,所有資料夾及其子資料夾將立即成功建立!請參閱下方截圖:
    顯示根據 Excel 儲存格值建立的資料夾及其子資料夾截圖
  2. 若要使用此功能,請 下載並安裝 Kutools for Excel
 

使用 VBA 程式碼從清單建立資料夾

在 Excel 中運用 VBA 程式碼,即可將根據清單建立資料夾這項繁瑣任務,轉化為快速又自動化的流程。本節將示範如何套用 VBA 程式碼來建立資料夾。

步驟 1:開啟 VBA 模組編輯器並複製程式碼

  1. 在 Excel 中按住「Alt + F11」,即可開啟「Microsoft Visual Basic for Applications」視窗。
  2. 按一下「插入」>「模組」,並將下列程式碼貼到模組視窗中。
    VBA 程式碼:根據儲存格值清單建立資料夾
    Sub CreateFoldersFromSelection()
    'Updateby Extendoffice
        Dim FolderPath As String
        Dim Cell As Range
        Dim SelectedRange As Range
        Dim FolderName As String
        On Error Resume Next
        Set SelectedRange = Application.InputBox("Select the range with folder names", "Kutools for Excel", Type:=8)
        If SelectedRange Is Nothing Then Exit Sub
        On Error GoTo 0
        
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "Select the destination Folder"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            FolderPath = .SelectedItems(1) & "\"
        End With
        
        For Each Cell In SelectedRange
            FolderName = FolderPath & Cell.Value
            If Cell.Value <> "" And Not FolderExists(FolderName) Then
                MkDir FolderName
            End If
        Next Cell
    End Sub
    
    Function FolderExists(ByVal Path As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(Path) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

步驟 2:執行程式碼

  1. 貼上此程式碼後,請按 F5 鍵執行。在提示方塊中,選取您要用來建立資料夾的儲存格值,然後按一下「確定」。
    Excel 中用於選取資料夾建立所需儲存格值的 VBA 提示截圖
  2. 接著,在接下來出現的「選取目的資料夾」視窗中,指定輸出所建立資料夾的目的路徑,然後按一下「確定」按鈕,請參閱截圖:
    用於為 VBA 建立的資料夾選取目標資料夾的對話框截圖

結果:

執行 VBA 程式碼後,請前往目標目錄查看結果。您會發現新建立的資料夾已與 Excel 清單中的項目一一對應。請參閱以下截圖:
顯示由 VBA 建立的資料夾輸出結果截圖

提示:
  1. 若儲存格中包含重複項目,程式碼僅會建立一個資料夾。
  2. 若您經常使用這段程式碼,建議將活頁簿儲存為「啟用巨集的 Excel 活頁簿」格式。如此一來,程式碼便會完整保留在活頁簿中,日後無需重新輸入或匯入,即可直接執行!

使用 VBA 程式碼根據儲存格值建立資料夾與子資料夾

有時您可能需要根據 Excel 儲存格中的資料,不僅建立資料夾,還同步建立對應的子資料夾。為達成此目標,本文將為您介紹一段實用的 VBA 程式碼。

步驟 1:準備資料

首先,請依照下圖所示輸入資料:將主要資料夾名稱填入第一欄,子資料夾名稱填入第二欄。
Excel 中包含資料夾與子資料夾欄位的資料截圖

步驟 2:開啟 VBA 模組編輯器並複製程式碼

  1. 在 Excel 中按下並按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
  2. 按一下「插入」>「模組」,並將下列程式碼貼到模組視窗中。
    VBA 程式碼:根據儲存格值建立資料夾與子資料夾
    Sub CreateFoldersAndSubfoldersWithUserInput()
    'Updateby Extendoffice
        Dim Rng As Range
        Dim Cell As Range
        Dim basePath As String
        Dim fldrPicker As FileDialog
        Dim FolderPath As String, subfolderPath As String
        On Error Resume Next
        Set Rng = Application.InputBox("Select the range of cells (two columns: one is folder column, another s subfolder column):", "Kutools for Excel", Type:=8)
        If Rng Is Nothing Then Exit Sub
        On Error GoTo 0
        Set fldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
        With fldrPicker
            .Title = "Select the Base Folder Path"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            basePath = .SelectedItems(1)
        End With
        If Right(basePath, 1) <> "\" Then basePath = basePath & "\"
        For Each Cell In Rng.Columns(1).Cells
            If Not Cell.Value = "" Then
                FolderPath = basePath & Cell.Value
                If Not FolderExists(FolderPath) Then MkDir FolderPath
                If Not Cell.Offset(0, 1).Value = "" Then
                    subfolderPath = FolderPath & "\" & Cell.Offset(0, 1).Value
                    If Not FolderExists(subfolderPath) Then MkDir subfolderPath
                End If
            End If
        Next Cell
    End Sub
    
    Function FolderExists(FolderPath As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(FolderPath) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

步驟 3:執行程式碼

  1. 貼上此程式碼後,請按 F5 鍵執行。在提示方塊中,選取您要用來建立資料夾的儲存格值,然後按一下「確定」。
    Excel 中用於選取建立資料夾與子資料夾之儲存格範圍的 VBA 提示截圖
  2. 在接下來彈出的視窗中,指定輸出所建立資料夾的目的路徑,然後按一下「確定」按鈕,請參閱截圖:
    Excel 中用於選取基礎資料夾路徑的 VBA 對話框截圖

結果:

執行 VBA 程式碼後,請前往目的資料夾查看結果。您會發現資料夾及其對應的子資料夾已根據儲存格的值成功建立,如下圖所示:
顯示使用 Excel VBA 程式碼建立的資料夾與子資料夾截圖

提示:
  1. 此程式碼僅適用於建立主資料夾及其第一層子資料夾。
  2. 若您經常使用這段程式碼,建議將活頁簿儲存為「啟用巨集的 Excel 活頁簿」格式。如此一來,程式碼便會保留在活頁簿中,日後可直接執行,無需重新輸入或匯入。

相關文章:

  • 在 Excel 中列出所有資料夾與子資料夾
  • 您是否曾為此問題所苦:需要將指定目錄下的所有資料夾與子資料夾完整列於工作表中?在 Excel 中,並無快速又便利的方式能一次取得特定目錄內的所有資料夾名稱。本文或許能協助您輕鬆解決這項任務。
  • 批次重新命名資料夾中的多個檔案
  • 我們大多數人都可能遇過這個問題:需要一次重新命名資料夾中的多個檔案。如果資料夾裡有數百甚至數千個檔案,逐一改名簡直讓人抓狂——難道沒有什麼好用的功能能幫忙搞定這項任務嗎?