KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel のデータリストから複数のフォルダーとサブフォルダーを作成

著者Xiaoyang変更日

ワークシート内にスタッフ名のリストがあり、それぞれの情報を保存するための個別フォルダーを作成したいとします。手作業で一つひとつフォルダーを作成するのは非常に時間がかかりますが、この作業を迅速に行うための効率的な方法がいくつかあります。本ガイドでは、指定されたセルの値に基づいてフォルダーを素早く作成する複数のアプローチをご紹介します。

フォルダー作成用のスタッフ名リストを含むExcelワークシートのスクリーンショット

セルの値に基づいてフォルダーを作成

VBA コードを使用してセルの値に基づきフォルダーとサブフォルダーを作成


セルの値に基づいてフォルダーを作成

このセクションでは、セルの値のリストに基づいてフォルダーを素早く簡単に作成するさまざまな方法を、詳しいステップバイステップの手順とともにご紹介します。

MD コマンドとメモ帳を使用してリストからフォルダーを作成

Excel のリストを MD コマンドとメモ帳を使ってフォルダーに変換するのは、簡単なバッチスクリプトとExcel の整理力を組み合わせたスマートなテクニックです。この方法を使えば、手作業なしで多数のフォルダーを素早く作成できます。以下の手順に従ってタスクを完了してください:

ステップ1:MD コマンドを使用して数式を作成

最初のセル値(例:B1)の隣にある空白セルに次の数式をコピーまたは入力し、フィルハンドルを下にドラッグしてリストのすべてのアイテムに数式を適用します。

="MD "&A1

フォルダー作成に使用されるExcelのMDコマンド数式を示すスクリーンショット

ステップ2:数式をメモ帳ファイルにコピー&ペースト

  1. MD コマンド式を含むセルを「Ctrl + C」でコピーしてください。
  2. メモ帳を開き、「Ctrl + V」でコマンドを生成されたファイルに貼り付けます。
    Excelからコピーされたフォルダー作成用のMDコマンドを表示するメモ帳のスクリーンショット

ステップ3:メモ帳ファイルを.bat ファイルとして保存

メモ帳の「ファイル」タブから「名前を付けて保存」をクリックし、「名前を付けて保存」ダイアログボックスで複数のフォルダーを作成したいディレクトリを選択してください。その後、ファイル名に「。bat」拡張子を付けて入力し、「保存」ボタンをクリックします。スクリーンショットをご覧ください:
.bat拡張子でファイルを保存するためのメモ帳の「名前を付けて保存」ダイアログのスクリーンショット

ステップ4:.bat ファイルをダブルクリックして複数のフォルダーを生成

  1. メモ帳ファイルを閉じて、先ほど .bat ファイルを保存したフォルダーに移動してください。
  2. それでは、魔法のような瞬間をご覧ください!ファイルをダブルクリックするだけで、複数のフォルダーが一気に作成される様子を以下のデモでご確認いただけます。
    Excelの値から複数のフォルダーを作成するために.batファイルをダブルクリックするデモンストレーション
 

強力なツール「Kutools for Excel」を使用してリストからフォルダーを作成

強力な Kutools for Excel の「範囲に基づいてフォルダを作成する」機能を使えば、Excel のリストからフォルダーを簡単かつ迅速に作成できます。基本的なフォルダーだけでなく、マルチレベルのサブフォルダーを含む複雑な構造も一度に生成可能。わずか数ステップで Excel データを整理されたフォルダーシステムに変換し、大幅に生産性を向上させましょう。

Kutools for Excelは複雑なタスクを効率化する高度な機能を300 以上提供し、創造性と効率性を高めます。AI 機能を統合することで、Kutools は正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

Kutools for Excel をインストール後、「KUTOOLS PLUS」>「インポート/エクスポート」>「範囲に基づいてフォルダを作成する」をクリックして、[範囲に基づいてフォルダを作成する]ダイアログボックスを開きます。

  1. フォルダー作成の元となるセルの値を選択してください。
  2. 次に、保存先フォルダーを選択するために使用するボタンのスクリーンショットボタンをクリックして、フォルダーの保存先を指定します。
  3. 最後に、「OK」ボタンをクリックしてください。
    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 キーを押して実行してください。表示されるプロンプトボックスで、フォルダーを作成したいセルの値を選択し、「OK」をクリックします。
    Excelでフォルダー作成用のセル値を選択するVBAプロンプトのスクリーンショット
  2. 次に表示される「出力先フォルダーの選択」ウィンドウで、作成したフォルダーの出力先パスを指定し、「OK」ボタンをクリックしてください。スクリーンショットをご確認ください:
    VBAで作成したフォルダーの保存先フォルダーを選択するダイアログボックスのスクリーンショット

結果:

VBA コードを実行後、出力先ディレクトリに移動して結果をご確認ください。Excel リストの各項目に対応する新規フォルダーが作成されています。スクリーンショットをご覧ください:
VBAによって作成されたフォルダーの出力を示すスクリーンショット

ヒント:
  1. セル内に重複するエントリがある場合、コードはフォルダーを1 つだけ作成します。
  2. このコードを頻繁に使用する場合は、「Excel マクロ対応ワークブック」形式でワークブックを保存することをおすすめします。これにより、コードがワークブック内に保持され、今後再度入力や再インポートを行うことなく、直接実行できるようになります。

VBA コードを使用してセルの値に基づきフォルダーとサブフォルダーを作成

場合によっては、フォルダーだけでなく、対応するサブフォルダーもExcel セル内のデータに基づいて一括作成する必要があります。こうしたタスクを効率的に実行するため、ここでは VBA コードをご紹介します。

ステップ1:データを準備

まず、以下のスクリーンショットのようにデータを入力してください。メインフォルダ名は最初の列に、サブフォルダー名は2 列目に入力します。
フォルダーとサブフォルダー用の列を含む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 キーを押して実行してください。表示されるプロンプトボックスで、フォルダーを作成したいセルの値を選択し、「OK」をクリックします。
    Excelでフォルダーおよびサブフォルダーを作成するためのセル範囲を選択するVBAプロンプトのスクリーンショット
  2. 次に表示されるポップアップウィンドウで、作成したフォルダーの出力先パスを指定し、「OK」ボタンをクリックしてください。スクリーンショットをご確認ください:
    Excelでベースフォルダーパスを選択するVBAダイアログボックスのスクリーンショット

結果:

VBA コードを実行後、出力先ディレクトリに移動して結果をご確認ください。セルの値に基づいてフォルダーとそのサブフォルダーが、以下のスクリーンショットのように正常に作成されていることを確認できます。
ExcelのVBAコードを使用して作成されたフォルダーおよびサブフォルダーを示すスクリーンショット

ヒント:
  1. このコードは、メインフォルダーとその第1 階層のサブフォルダーのみを作成できます。
  2. このコードを頻繁に使用する場合は、「Excel マクロ対応ワークブック」形式でワークブックを保存することをおすすめします。これにより、コードがワークブック内に保存され、今後再度入力や再インポートを行うことなく、すぐに実行できるようになります。

関連記事:

  • Excel でフォルダーとサブフォルダーをすべて一覧表示
  • 特定のディレクトリからワークシートにフォルダーとサブフォルダーをすべて一覧表示したいと思ったことはありませんか?Excel には、特定のディレクトリ内のすべてのフォルダー名を一度に取得する簡単で便利な方法がありません。そんなお悩みには、本記事がきっとお役に立ちます。
  • リストに基づいてファイルをあるフォルダーから別のフォルダーへコピーまたは移動
  • ワークシートの列にファイル名のリストがあり、これらのファイルがコンピューター上のフォルダー内にあるとします。しかし今、これらのファイルを元のフォルダーから別のフォルダーへ、スクリーンショットのようにワークシートに記載されたファイル名に基づいて移動またはコピーする必要があります。Excel でこのタスクをできるだけ早く完了するにはどうすればよいでしょうか?
  • フォルダー内の複数のファイル名を一括変更
  • フォルダー内の複数のファイル名を一括で変更しなければならず、多くの人が頭を悩ませているのではないでしょうか?数百、あるいは数千ものファイルが含まれるフォルダーの場合、一つひとつ手作業でファイル名を変更するのは気が狂いそうになるほど大変です。この作業を効率的にこなせる良い方法はあるのでしょうか?