Skip to main content

根據 Excel 中的數據清單創建多個文件夾和子文件夾

Author: Xiaoyang Last Modified: 2025-05-12

假設您在工作表範圍內有一份員工名單,並希望為每位員工創建單獨的文件夾來存儲他們的信息。手動創建每個文件夾可能非常耗時。然而,有一些高效的方法可以加快這一過程。在本指南中,我將分享幾種基於指定單元格值快速生成文件夾的方法。

A screenshot of an Excel worksheet containing a list of staff names for folder creation

根據單元格值創建文件夾

使用 VBA 代碼根據單元格值創建文件夾和子文件夾


根據單元格值創建文件夾

在本節中,我們將詳細探討各種方法,提供全面的逐步指導,以便快速輕鬆地根據單元格值列表創建文件夾。

使用 MD 命令和記事本從清單創建文件夾

利用 MD 命令和記事本將 Excel 清單轉換成文件夾是一個巧妙的技巧,結合了簡單的批處理腳本與 Excel 的組織能力。這種方法非常適合快速創建大量文件夾,而無需手動操作。以下是完成此任務的分步指南:

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

將以下公式複製或輸入到第一個單元格值旁邊的空白單元格(例如 B1),然後拖動填充柄以將公式應用於所有清單項目。

="MD "&A1

A screenshot showing the MD command formula used in Excel to create folders

步驟 2:將公式複製並粘貼到記事本文件中

  1. 按 "Ctrl + C" 複製包含 MD 命令公式的單元格。
  2. 打開記事本並按 "Ctrl + V" 將命令粘貼到新文件中。
    A screenshot of Notepad displaying copied MD commands from Excel for folder creation

步驟 3:將記事本文件另存為 .bat 文件

在記事本中點擊 "文件" 選項卡中的 "另存為",在 "另存為" 對話框中選擇要創建多個文件夾的目錄,然後為該文件命名並添加 .bat 擴展名。最後,點擊 "保存" 按鈕。請參見截圖:
A screenshot of the Save As dialog in Notepad for saving the file with a .bat extension

步驟 4:雙擊 .bat 文件生成多個文件夾

  1. 關閉記事本文件,導航到之前保存 .bat 文件的文件夾。
  2. 現在,見證奇蹟的時刻:雙擊該文件,您將看到多個文件夾一次性被創建。請參見下面的演示:
    A demonstration of double-clicking a .bat file to create multiple folders from Excel values
 

使用強大工具 – 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. 然後,點擊 A screenshot of the button used to select a destination folder 按鈕以指定要保存文件夾的目標文件夾;
  3. 最後,點擊 "確定" 按鈕。
    A screenshot of the Kutools Create Folders from Cell Contents dialog box in Excel

結果:

Kutools 將處理來自工作表的清單,並在指定的目標位置為每條記錄創建一個文件夾。導航到目標文件夾查看結果。請參見截圖:
A screenshot showing the output of folders created by Kutools for Excel

提示:
  1. 這個有用的功能還可以幫助創建文件夾及其子文件夾。要做到這一點,您應該在單元格中輸入所需的文件夾和子文件夾名稱,使用反斜杠符號(\)分隔每一層級。每個單元格的內容將作為設置所需文件夾和子文件夾結構的指南。
    A screenshot of an Excel sheet with folder and subfolder names entered for creation
    然後,應用 "基於區域建立資料夾" 功能,所有文件夾及其子文件夾都將成功創建。請參見截圖:
    A screenshot showing folders with subfolders created based on Excel cell values
  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 鍵運行此代碼。在彈出的對話框中,選擇要創建文件夾的單元格值,然後點擊 "確定"。
    A screenshot of the VBA prompt to select cell values for folder creation in Excel
  2. 然後,在隨後出現的 "選擇目標文件夾" 窗口中,指定輸出創建的文件夾的目標路徑。然後,點擊 "確定" 按鈕,請參見截圖:
    A screenshot of the dialog box to select a destination folder for VBA-created folders in Excel

結果:

執行 VBA 代碼後,前往目標目錄查看結果。您會發現新創建的文件夾,每個文件夾對應於 Excel 清單中的一個項目。請參見截圖:
A screenshot showing the output of folders created by VBA

提示:
  1. 如果單元格中有重複的條目,代碼只會創建一個文件夾。
  2. 如果您經常使用此代碼,考慮將您的工作簿保存為 "Excel 含宏的工作簿" 格式。這樣的操作會將代碼保留在工作簿中,讓您未來可以直接執行它,而無需重新輸入或重新導入代碼。

使用 VBA 代碼根據單元格值創建文件夾和子文件夾

有時候,您可能會遇到需要生成的不僅僅是文件夾,還有相應的子文件夾的情況,這些都需要基於 Excel 單元格內的數據。為了實現這一任務,這裡我將介紹一段 VBA 代碼。

步驟 1:準備數據

首先,您應該按照以下截圖所示輸入數據,將主文件夾名稱放在第一列,子文件夾名稱放在第二列。
A screenshot of data in Excel with columns for folders and subfolders

步驟 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 鍵運行此代碼。在彈出的對話框中,選擇要創建文件夾的單元格值,然後點擊 "確定"。
    A screenshot of the VBA prompt to select cell ranges for creating folders and subfolders in Excel
  2. 在隨後彈出的窗口中,指定輸出創建的文件夾的目標路徑。然後,點擊 "確定" 按鈕,請參見截圖:
    A screenshot of the VBA dialog box for selecting a base folder path in Excel

結果:

執行 VBA 代碼後,前往目標目錄查看結果。您會發現文件夾及其各自的子文件夾,正如單元格值所指示的那樣,已經成功創建,如下截圖所示:
A screenshot showing folders and subfolders created using VBA code in Excel

提示:
  1. 此代碼只能創建主文件夾及其一級子文件夾。
  2. 如果您經常使用此代碼,考慮將您的工作簿保存為 "Excel 含宏的工作簿" 格式。這樣的操作會將代碼保留在工作簿中,讓您未來可以直接執行它,而無需重新輸入或重新導入代碼。

相關文章:

  • 在 Excel 中列出所有文件夾和子文件夾
  • 您是否曾經遇到過這樣的問題,即將指定目錄中的所有文件夾和子文件夾列出到工作表中?在 Excel 中,沒有快速方便的方法一次獲取特定目錄中所有文件夾的名稱。為了解決這個問題,本文可能會對您有所幫助。
  • 根據清單從一個文件夾複製或移動文件到另一個文件夾
  • 如果您在工作表的一列中有一份文件名清單,並且這些文件位於計算機中的某個文件夾中。但是,現在您需要將這些文件從原始文件夾移動或複製到另一個文件夾中,如以下截圖所示。您如何才能在 Excel 中盡快完成此任務呢?
  • 重命名文件夾中的多個文件
  • 也許我們大多數人都遇到過這樣的問題,即需要重命名文件夾中的多個文件,如果逐一手動重命名文件名,當文件夾中有數百或數千個文件時,這會讓人抓狂。是否有什麼好的方法可以幫助我們處理這個任務?