Excelでセルの内容をフォルダ名にして自動作成・フォルダを開くVBA活用法

目次

Excelでセルの内容を名前にしてフォルダを作成・自動で開く方法

Excelを使ってプロジェクト管理やデータ整理を行っていると、フォルダ名にセルの内容を使い、指定の場所にフォルダを自動で作成できると便利です。例えば、プロジェクト名や顧客名、商品コードなどをフォルダ名として使い、セルの内容に基づいてフォルダを作成し、作成後はエクスプローラーで自動的に開くことで、フォルダを探す手間を省きながら整理ができます。

この記事では、ExcelのVBA(マクロ)を使ってこの仕組みを構築する方法と、その活用シーンを紹介します。

VBAコードの概要

このVBAコードを使うと、以下の操作が実行されます。

  1. アクティブセルの内容を取得: 現在選択中のセルの値をフォルダ名として利用します。
  2. フォルダを作成する: 指定したパスの場所にフォルダがなければ新規に作成し、あれば既存のフォルダを利用します。
  3. フォルダを開く: フォルダ作成後に自動的にエクスプローラーで開くことで、すぐにファイル操作ができるようにします。

実用シーン

  1. プロジェクトごとのフォルダ管理
    新しいプロジェクトが始まるたびに、そのプロジェクト名をExcelに入力することでフォルダを自動で作成します。例えば、プロジェクト名「Project_XYZ」をセルに入力し、VBAを実行すると、指定した場所に「Project_XYZ」というフォルダが作成され、エクスプローラーで開かれます。これにより、ファイルを保存したい場所をすぐに確認でき、すぐに資料の整理を始められます。
  2. 顧客ごとのフォルダ作成
    営業チームなどで、顧客名をもとにフォルダを作成し、顧客ごとの資料を整理する場合に便利です。例えば、顧客リストをExcelにまとめておき、セルに顧客名を入力してVBAを実行することで、顧客ごとのフォルダを自動作成できます。これにより、資料や契約書をスムーズに管理できます。
  3. 商品コードを使ったフォルダ整理
    商品や製品ごとにフォルダが必要な場合、商品コードをセルに入力してフォルダを作成できます。セルに商品コードを入力してVBAを実行するだけで、その商品用のフォルダが指定の場所に作成されるため、製品関連の資料やスペックシートの管理が簡単になります。

VBAコード

次のコードをExcelのVBAエディタに貼り付けることで、アクティブセルの内容を名前とするフォルダが指定の場所に作成され、作成後はエクスプローラーで自動的に開かれるように設定できます。

コードの手順

  1. ExcelでVBAエディタを開く
    Alt + F11を押してVBAエディタを開きます。
  2. モジュールを挿入
    「挿入」 > 「標準モジュール」を選び、新しいモジュールを追加します。
  3. 以下のコードを貼り付け
    任意のフォルダの場所を指定する箇所を、自分のPCのパスに変更して利用します。

VBAコード

Sub CreateFolderFromActiveCellAndOpen()
    ' アクティブセルの値を取得
    Dim folderName As String
    folderName = ActiveCell.Value

    ' フォルダを作成するパス(任意の場所に変更可能)
    Dim folderPath As String
    folderPath = "C:\指定したいフォルダの場所\" & folderName

    ' フォルダが存在しない場合のみ作成
    If Len(Dir(folderPath, vbDirectory)) = 0 Then
        MkDir folderPath
        MsgBox "フォルダ '" & folderPath & "' を作成しました。"

        ' フォルダをエクスプローラーで開く
        Shell "explorer.exe " & folderPath, vbNormalFocus
    Else
        MsgBox "フォルダは既に存在します。"

        ' フォルダをエクスプローラーで開く
        Shell "explorer.exe " & folderPath, vbNormalFocus
    End If
End Sub

コードのポイント

  • フォルダが存在するかの確認
    Dir関数を使って、指定フォルダが既に存在するか確認します。存在しない場合は新規に作成し、存在する場合はそのまま開きます。
  • Shell関数でエクスプローラーを開く
    Shell "explorer.exe " & folderPath, vbNormalFocusでフォルダをエクスプローラーで開き、すぐにファイルを確認できるようにします。

注意点

  • フォルダ名に無効な文字(例: \ / : * ? " < > |)が含まれるとエラーが発生する可能性があります。入力前に確認するか、エラーチェックを追加して無効文字を除去するようにしておくと安心です。

ボタンを作成してマクロを登録する方法

コードを使いやすくするため、Excelのシートにボタンを配置し、そのボタンにマクロを登録することで、ワンクリックでフォルダ作成機能を実行できるようにします。これにより、毎回VBAエディタを開く手間が省け、より簡単にフォルダ作成と自動オープンができるようになります。

以下に、ボタン作成とマクロ登録の手順を解説します。

  1. Excelの「開発」タブを表示する
  • 初めて「開発」タブを使用する場合は、Excelの「ファイル」メニューから「オプション」を選択し、「リボンのユーザー設定」で「開発」にチェックを入れて有効にします。
  1. シートにボタンを配置する
  • 「開発」タブをクリックし、「挿入」 > 「フォームコントロール」から「ボタン(フォームコントロール)」を選択します。
  • シート上でボタンを配置したい場所をクリックし、ボタンを配置します。
  1. ボタンにマクロを登録する
  • ボタンを配置すると、自動的に「マクロの登録」ウィンドウが表示されます。
  • 作成した「CreateFolderFromActiveCellAndOpen」というマクロを選択し、「OK」をクリックしてボタンにマクロを登録します。
  • これで、ボタンをクリックするとセルの内容を名前に持つフォルダが自動で作成され、フォルダがエクスプローラーで開かれるようになります。
  1. ボタンに名前をつける(オプション)
  • ボタン上のテキストをクリックして、わかりやすい名前(例:「フォルダ作成」)に変更します。

使用手順

  • ボタンをクリックする前に、フォルダ名にしたい内容が入力されたセルを選択してから、ボタンをクリックしてください。これで選択したセルの内容を名前にしたフォルダが指定の場所に作成されます。

まとめ

ボタンを配置することで、セルの内容をフォルダ名にして作成・開く操作がワンクリックで実行でき、さらに効率的にフォルダ管理ができるようになります。Excelでの業務効率化に役立つ便利な機能として、ぜひお試しください。


このVBAコードを使うことで、フォルダの作成と管理が大幅に効率化され、Excelを活用した業務効率化がさらに進みます。プロジェクトや顧客ごとに大量のフォルダを管理する必要がある場合などに、ぜひ活用してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次