Categories: VBA

フォルダ自動作成とファイル保存(コピーを保存)

シートに予め入力されたデータをフォルダ名にして、フォルダを自動作成する方法を紹介します。
また、作成したフォルダの中にブックをコピーして保存する方法を紹介します。

スポンサーリンク
スポンサーリンク

完成イメージ

ワークシートにフォルダ名とするデータを用意しておきます。(今回はアルファベットを入力しています)

フォルダの中にブックをコピーして保存します。(今回はブック名をフォルダ名と同じアルファベットにしています)

スポンサーリンク

コード

Sub フォルダ生成()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        MkDir ThisWorkbook.Path & "\" & Cells(i, 1) 
    Next i
End Sub
'MkDir フォルダパス

MkDir関数でフォルダを作成できます。

コピーを保存

Sub コピーを保存()
    Dim i As Long
    For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & Cells(i, 1) & "\" & Cells(i, 1) & ".xlsx"  '同じフォルダ内のフォルダにコピーして保存
    Next i
End Sub

ファイルの保存方法(コピーを保存を含む)についてはこちらの記事で紹介しています。↓

ExcelVBAでのファイル保存
VBAにおけるファイルの保存方法についてまとめてみました。同じファイル名があった場合に名前に連番を付けて保存する方法も紹介しています。
スポンサーリンク

まとめ

フォルダの作成方法とファイルを指定フォルダに自動的に保存(コピーして保存)する方法を紹介しました。

次回は、FileSystemObjectを使ってフォルダ・ファイルへ自動的に連番付与する方法を紹介します。

FileSystemObjectで自動連番付与設定
FileSystemObject(ファイルシステムオブジェクト)の基本的な使い方とFileSystemObject(ファイルシステムオブジェクト)を使って、フォルダとファイルに自動連番付与する方法を紹介します。


y-naka

Recent Posts

FileSystemObjectで自動連番付与設定

FileSystemObjec…

3週間 ago

ユーザーフォームを使ったレコード抽出方法-基本-

ユーザーフォームを使って、デー…

1か月 ago

ユーザーフォームとコンボボックスの値の取得

コンボボックスの値の取得方法を…

2か月 ago

VBAユーザーフォームとコンボボックス

ユーザーフォームを使って、デー…

3か月 ago

VBA配列を使ったデータ転記方法まとめ

私が業務でよく行っているダウン…

3か月 ago

VBAのCollectionオブジェクトの基本

VBAにおけるCollecti…

3か月 ago