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

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(ファイルシステムオブジェクト)を使って、フォルダとファイルに自動連番付与する方法を紹介します。


コメント

タイトルとURLをコピーしました