< スポンサーリンク >

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

Excelを操作していると、今操作しているブックと同じフォルダに新たに名前を付けて保存したいことって頻繁にありますよね。

名簿から個人毎にファイルを作ったり、月ごと、年ごとにファイルを作ったり。

テンプレートのブックを作っておいて、VBAで一度に沢山のブックが同じフォルダ内に出来るととっても便利です!

 

元のブックと同じフォルダに名前を付けて保存する

任意のフォルダに元のブックを「マクロ有効ブック」で保存しておきます。

samefolder

 

元のブックのVBEに次のように書き込みます。

Sub SameFolderSave()
    '変数の宣言(自分のブックのフォルダ名格納用)
    Dim thisPath As String
    '自分のブックのフォルダ名を変数に入れる<
    thisPath = ThisWorkbook.Path
    'このブックを同じフォルダ内に別の名前で保存する
    ThisWorkbook.SaveAs Filename:=thisPath & "\新しいブック.xlsm"
End Sub

 

書き込んだVBAを実行すると、「新しいブック.xlsm」というファイルが同じフォルダ内に出来ました。

samefolder

 

同じフォルダ内に複数個のブックを保存する

複数のブックを保存したい場合は繰り返し保存します。

元のブックの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個のファイルが同じフォルダ内に出来ました。

samefolder

 

サンプル

同じフォルダ内に保存するVBAを使ってサンプルを作っています。

VBAで同じフォルダ内のブックのデータを一つのブックに集計する

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

 

< スポンサーリンク >



サブコンテンツ

このページの先頭へ