Excel VBA シートを新規ブックにコピーして名前を付けて保存する

 

Excel VBAでシートコピー(新規ブックにコピーし、名前を付けて保存)は、既存のシートを新しいブックにコピーして、その新しいブックに名前を付けて保存する操作を指します。この操作を行えば、特定のシートだけを別のファイルとして保存できます。具体的な使い方や、注意点やサンプルコードを紹介します。

 

Excel VBA シートコピー(新規ブックにコピーし、名前を付けて保存)の利用

以下のようなシーンで利用されます。

・完成したレポートを他のユーザーに送信するために、そのシートだけを新規ブックとして保存。

・特定のシートをテンプレートとして別ファイルに保存し、他の人が使用できるようにする。

使い方

1.コピー元のシートを新しいブックにコピーします。

2.コピーされたシートを含む新しいブックに名前を付けて保存します。

 

ポイント

・ファイル名の衝突回避
保存時に同じ名前のファイルが存在しないように注意し、必要に応じてファイル名を変更する。

・データの完全性
コピーするシートが他のシートやデータに依存していないか確認し、必要なデータが全て含まれていることを確認する。

 

Excel VBA シートコピー(新規ブックにコピーし、名前を付けて保存)のサンプルコード
Option Explicit

Sub CopySheetToNewBookAndSave()
    Dim wsSource As Worksheet
    Dim newBook As Workbook
    Dim filePath As String
    
    ' コピー元のシートを指定
    Set wsSource = ThisWorkbook.Sheets("Sheet1")
    
    ' シートを新しいブックにコピー
    wsSource.Copy
    
    ' コピーされたシートがアクティブな新しいブックになる
    Set newBook = ActiveWorkbook
    
    ' 保存先のパスを指定
    filePath = "C:\Users\User\Desktop\NewWorkbook.xlsx"
    
    ' 新しいブックを保存
    newBook.SaveAs filePath
    
    ' 新しいブックを閉じる
    newBook.Close
    
    ' 完了メッセージ
    MsgBox "シートが新規ブックにコピーされ、保存されました!"
End Sub

・wsSource.Copy
指定したシートを新しいブックにコピーします。この操作によって、自動的に新しいブックが作成されます。

・filePath
変数に保存先のファイルパスを指定します。このパスには、ファイル名と拡張子(`.xlsx`)を含める必要があります。

・newBook.SaveAs filePath
新しく作成されたブックを指定したパスに保存します。

・newBook.Close
新しいブックを閉じます。

この操作を使うことで、特定のシートを別のファイルとして簡単に保存し、他のユーザーと共有することができます。保存時にはファイル名の重複に注意し、他のシートやデータとの依存関係を確認してから実行することが重要です。

 

毎日のルーチン作業をExcel VBAで自動化し、時間を有効活用しませんか?Excel VBAエキスパート資格取得問題集を活用して資格取得、そして効率的な仕事を実現しましょう!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。

 

ExcelVBAの学習方法で効果的な学び方を知りたい方は、下記「Excel VBA初心者のための効果的な学習ガイド」をご確認ください。