Excelを操作していると、今操作しているブックと同じフォルダに新たに名前を付けて保存したいことって頻繁にありますよね。
名簿から個人毎にファイルを作ったり、月ごと、年ごとにファイルを作ったり。
テンプレートのブックを作っておいて、マクロで一度に沢山のブックが同じフォルダ内に出来るととっても便利です!
< スポンサーリンク >
元のブックと同じフォルダに名前を付けて保存する
任意のフォルダに元のブックを「マクロ有効ブック」で保存しておきます。ファイル名は「元のブック.xlsm」としました。
元のブックのVBEに次のように書き込みます。
Sub SameFolderSave()
'変数の宣言(自分のブックのフォルダ名格納用)
Dim thisPath As String
'自分のブックのフォルダ名を変数に入れる
thisPath = ThisWorkbook.Path
'このブックを同じフォルダ内に別の名前で保存する
ThisWorkbook.SaveAs Filename:=thisPath & "\新しいブック.xlsm"
End Sub
書き込んだVBAを実行すると、「新しいブック.xlsm」というファイルが同じフォルダ内に出来ました。
同じフォルダ内に複数個のブックを保存する
複数のブックを保存したい場合は繰り返し保存します。
元のブックのVBEに次のように書き込みます。
Sub SameFolderSave()
'変数の宣言
Dim thisPath As String '自分のフォルダ名用
Dim i As Long '繰り返し処理用
'自分のブックのフォルダ名を変数に入れる
thisPath = ThisWorkbook.Path
'このブックを同じフォルダ内に別の名前で保存するを10回繰り返す
For i = 1 To 10
ThisWorkbook.SaveAs Filename:=thisPath & "\新しいブック" & i & ".xlsm"
Next i
End Sub
書き込んだVBAを実行すると、10個のファイルが同じフォルダ内に出来ました。
サンプル
同じフォルダ内に保存するVBAを使ってサンプルを作っています。
VBAで同じフォルダ内のブックのデータを一つのブックに集計する
こんな記事も書いています