Excel VBA 同じフォルダにブックを保存する

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で同じフォルダ内のブックのデータを一つのブックに集計する

VBAで名簿から個人毎のブックを作る

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします