EXCEL VBA 選択シートの新規ブックへ保存・全シートを新規に別々のブックへ保存(テクニック)

 

EXCEL VBA 選択シートの新規ブックへ保存・全シートを新規ブックへ保存(テクニック)

 

 

 ●はじめに

今回説明するのは、選択したシートを別のブックとして新規保存する方法や、ブック内にある指定した文字列に該当するワークシート名を別々のブックとして保存するサンプルプログラムです。EXCELブックを一時的に仮保存する場合に、通常ブックを丸ごとコピーしますが、今回のプログラムでは、部分的に指定したシートのみを別ブックとして保存する方法を説明たします。別ブックとして保存する事で、現時点の途中結果として履歴管理としても保存する事ができます。それでは、サンプルプログラムを交えて説明いたします。

 

●【EXCEL VBA EXCELファイル・ワークブック・アクティブシートの保存・上書き保存・選択保存 (SaveAs・GetSaveAsFilename)については、下記を参照して下さい】

EXCEL VBA EXCELファイル・ワークブック・アクティブシートの保存・上書き保存・選択保存 (SaveAs・GetSaveAsFilename)

 

 

 

 

EXCEL VBA 選択シート(アクティブシート)の新規ブックへ保存(指定したシートの保存)

 

 

 ●プログラム説明 (サンプル①)

下記のサンプルプログラムは、指定したアクティブシートの内容で新規ブックを作成して指定したシート名で保存するサンプルプログラムです。一時的に指定したシートを別ブックとして保存する時などに便利です。

【プログラム実行手順】
① 現在のアクティブシートに対してコピーを行います。
② 新しいブックを作成して、アクティブシート名でコピーした内容を貼り付けブック保存します。
③ 新しく作成したブックを閉じます。

★【サンプルプログラム】
下記のリンク先よりサンプルプログラムをダウンロードする事ができます。
● 別ブック01

 

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、現在のアクティブシート名を新規ブックを作成して、アクティブシート名で保存されます。新規作成するファイルの拡張子は[.xlsx]形式で作成されます。
(画像クリックして拡大)

 

 

 

 

EXCEL VBA 入力したワークシート名に該当するシートを新規ブックとして作成しワークシート名ごと別々のブックで保存します。(入力した文字列に該当したシートの保存)

 

 

 ●プログラム説明 (サンプル②)

下記のサンプルプログラムは、入力した文字列に該当するワークシート名を新規ブックを作成して該当するワークシート名ごとに別々のブックに保存するサンプルプログラムです。ブックの中に複数のワークシートから該当するワークシートを別のブックとして保存する時に便利だと思います。


【プログラム実行手順】
① インプットボックスで別ブックへ保存するシート名を入力します。
② キャンセルまたは、何も入力しない場合は、プログラムを終了します。
③ ブック内の全ワークシートを順番に検索します。(該当するシート名か確認)
④ インプットボックスで入力したシート名に該当するシート名が一致した場合は、新規ブックを作成してシート内容をコピーして該当したシート名でブック保存します。
⑤ 新規作成したブックを閉じます。
⑥ ブック内の全ワークシートを検索するまで繰り返します。③へ

★【サンプルプログラム】
下記のリンク先よりサンプルプログラムをダウンロードする事ができます。

● 別ブック02

 

 

 

 ●実行前~実行後 ※プログラム実行後、InputBoxで入力した文字列に該当するワークシート名を
別ブックとして作成され、該当するワークシート名ごとに別ブックとして保存されました。今回は、InputBoxで予算を入力をしたので、該当するワークシート名が2つ「予算2021年度・予算2022年度」が有るので、2つのブックファイルが作成されました。
(画像クリックして拡大)

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。