こんにちわ!VBAびよりの、春っちです!
今回は、「名前を付けて保存」を繰り返し行ってみようと思います!
【書き方】
赤字箇所を変更し、このように書きました。
(↓長いので文字サイズXSにしています)
-----------------------------------
Sub 各シートをファイル保存()
Dim a As Long
Dim SaveDir As String
SaveDir = ThisWorkbook.Path & "\" & "注文書" & "(" & Format(Now, "yyyymmdd") & ")"
If Dir(SaveDir, vbDirectory) = "" Then
MkDir SaveDir
End If
For a = 1 To Sheets.Count
Worksheets(a).Copy
ActiveWorkbook.SaveAs Filename:=SaveDir & "\" & Sheets(a).Name & ".xlsx", Password:="1234"
ActiveWorkbook.Close
Next a
End Sub
-----------------------------------
↑この文は毎回コピペして使えます☆(適宜書き換えて下さい。)
【詳しく説明しますと、、、】
-----------------------------------
Dim a As Long
Dim SaveDir As String
→ 「For文」に必ず使うカウンタ変数(回数を数える変数)を使います。
(変数の名前は、「a」と名づけ、冒頭に宣言します。)
SaveDir = ThisWorkbook.Path & "\" & "注文書" & "(" & Format(Now, "yyyymmdd") & ")"
If Dir(SaveDir, vbDirectory) = "" Then
MkDir SaveDir
End If
→ フォルダを作成(以前書かせていただきました。)
For a = 1 To Sheets.Count
→ ワークシート(1) から全てのシート数まで繰り返す。
(例えば、ワークシート(2) からワークシート(3) まで保存したい場合は、下線の部分を「2 to 3」と数字で書いたりもできます。)
Worksheets(a).Copy
ActiveWorkbook.SaveAs Filename:=SaveDir & "\" & Sheets(a).Name & ".xlsx", Password:="1234"
ActiveWorkbook.Close
→ 「ワークシートを指定するカウンタ変数(a)」を入れて使います。
Next a
→ 全てのシート数まで繰り返します。
-----------------------------------
最後までご覧いただきありがとうございました★☆★
【今日のpickup】~買ってよかった!春っちのお気に入り商品~
(ただ水を飲む。だけでもマインドフルネスできるみたいです。)
1記事目はコチラからどうぞ↓