【これで解決】簡単に複数ファイルに名前を付けて保存する方法!【Excel VBA】
こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!
今回はこのような悩みについて解説します。
複数のファイルの作り方がわからない!
ファイル名も好きなように設定したい!
- ファイルの作成方法
- シートからファイル名を参照する方法
- ファイル操作の注意点←超重要
サンプルコードの紹介
まずはサンプルコードと実行画面を見て、どのような処理ができるかイメージしてみてください!
Dim カウント数 As Long '変数宣言
Dim 最終行 As Long '変数宣言
最終行 = Cells(Rows.Count, 1).End(xlUp).Row '最終行を取得
For カウント数 = 2 To 最終行 '繰り返し処理
Workbooks.Add 'ファイルを作成
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path & "/" & _
ThisWorkbook.Worksheets(1).Cells(カウント数, 1).Value & ".xlsx" 'ファイルパスを指定して保存
ActiveWorkbook.Close 'ファイルを閉じる
Next カウント数
このように複数のファイルを作成して、シートからファイル名を参照してくることができました!
早速ファイルの作成方法から解説していきます!
複数のファイルを作成する方法
Dim カウント数 As Long '変数宣言
Dim 最終行 As Long '変数宣言
最終行 = Cells(Rows.Count, 1).End(xlUp).Row '最終行を取得
For カウント数 = 2 To 最終行 '繰り返し処理
Workbooks.Add 'ファイルを作成
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path & "/" & _
ThisWorkbook.Worksheets(1).Cells(カウント数, 1).Value & ".xlsx" 'ファイルパスを指定して保存
ActiveWorkbook.Close 'ファイルを閉じる
Next カウント数
複数のファイルを作成するにはファイル作成とそれを繰り返すという2つの処理が必要になります。
ファイルの作成は「Addメソッド」を使います。
Workbooks.Add
「Addメソッド」はファイル以外にもシートを追加する時にも使えます。
そして、「For~Next」で処理を繰り返していきます。
今回はシートから名前を参照してくるためシートの最終行まできたら処理が終わるようにしました。
最終行取得の方法はこちらの記事を参考にしてください!
シートからファイル名を参照する方法
Dim カウント数 As Long '変数宣言
Dim 最終行 As Long '変数宣言
最終行 = Cells(Rows.Count, 1).End(xlUp).Row '最終行を取得
For カウント数 = 2 To 最終行 '繰り返し処理
Workbooks.Add 'ファイルを作成
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path & "/" & _
ThisWorkbook.Worksheets(1).Cells(カウント数, 1).Value & ".xlsx" 'ファイルパスを指定して保存
ActiveWorkbook.Close 'ファイルを閉じる
Next カウント数
次はシートからファイル名を参照してきます。
ファイル名を指定する時は、「SaveAsメソッド」を使います。
SaveAs filename:=ファイル名を含めたファイルパス
このように記述することで名前を付けて保存することができます。
あとはファイルパスとシートの値を&で繋いであげれば名前を参照できます。
ファイルパスの後に拡張子をつけるのも忘れずに!
ファイル操作の注意点
ファイル操作で注意しなければならないのはパスの扱い方です。
今回のサンプルコードでも出てきましたが、フォルダパスとファイルパスを繋げる際は、”/”を入れなければいけません!
これがないと同じ階層だと認識されてしまうため、エラーが発生します。
また、拡張子や直接パス名を入力する際には必ずダブルクォーテーションをつけるようにしましょう!
ファイルパスは文字列で入力してあげる必要があるので注意しましょう!
まとめ
今回は複数ファイルを生成し、ファイル名をシートから参照する方法を解説しました。
ファイル操作はパスの操作がはじめは難しく感じるかもしれませんが、身につけておいた方が良い知識です。
たくさん数をこなして慣れていきましょう!
この記事で少しでも皆さんのお役に立てれば幸いです!
忘れないうちにお気に入り登録もお願いします!
ありがとうございました!
コメントはお気軽に!