
ExcelVBA MkDirで定したパスにフォルダを新しく作成することで、ファイルの整理や自動化された出力処理の保存先を準備します。使い方や注意点など、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
目次
Excel VBA MkDirでフォルダ作成する利用
以下のようなシーンで利用されます。
1.特定のフォルダ構成を自動的に作成する。
2.日付や条件に基づいて動的にフォルダを作成し、その中にデータやファイルを保存する。
3.プログラム内で複数のレポートやデータを分けて管理するために新しいフォルダを作成する。
Excel VBA MkDirでフォルダ作成する利用|使い方とポイント
MkDir 関数を使用してフォルダを作成します。
1.フォルダの存在確認
作成するフォルダがすでに存在している場合、MkDir はエラーを返します。そのため、事前にフォルダが存在するか確認する必要があります。
2.親フォルダの存在
MkDir は、親フォルダが存在していないと動作しません。必要に応じて親フォルダを事前に作成してください。
3.パスの形式
パスは正確に記述する必要があります(例: "C:\Users\User\Desktop\sourceFile")
4.パーミッション(権限)
作成先フォルダに書き込み権限が必要です。
Excel VBA MkDirでフォルダ作成するサンプルコード
Option Explicit
Sub CreateFolder()
Dim folderPath As String
folderPath = "C:\Users\User\Desktop\sourceFilemake" ' 作成したいフォルダのパス
' フォルダが存在しない場合のみ作成
If Dir(folderPath, vbDirectory) = "" Then
MkDir folderPath
MsgBox "フォルダを作成しました: " & folderPath, vbInformation
Else
MsgBox "フォルダはすでに存在しています: " & folderPath, vbExclamation
End If
End Sub
1.folderPathの指定
作成したいフォルダのパスを指定します。
2.Dir関数
指定したパスが存在するか確認します。
3.MkDir関数
指定したパスにフォルダを作成します。
4.フォルダの作成が成功した場合はメッセージボックスで通知します。
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
今日の日付を使用して、動的にフォルダを作成する
Option Explicit
Sub CreateFolderWithDate()
Dim folderPath As String
' 今日の日付をフォルダ名にする
folderPath = "C:\Users\User\Desktop\sourceFile\" & Format(Date, "yyyy-mm-dd")
' フォルダが存在しない場合のみ作成
If Dir(folderPath, vbDirectory) = "" Then
MkDir folderPath
MsgBox "フォルダを作成しました: " & folderPath, vbInformation
Else
MsgBox "フォルダはすでに存在しています: " & folderPath, vbExclamation
End If
End Sub
この機能を活用すれば、作業の効率化やファイルの整理が大幅に向上します。
操作方法:1.●●●をクリック(スマホはタップ)で答え表示。2.答えをクリック(スマホはタップ)で●●●表示。1⇔2を繰り返すことで、記憶を定着できます。
1.folderPathの指定
●●●したいフォルダのパスを指定します。
2.●●●関数
指定したパスが存在するか確認します。
3.●●●関数
指定したパスにフォルダを作成します。
4.フォルダの作成が成功した場合はメッセージボックスで通知します。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。