Worksheet.Copy メソッド (Excel)
シートを現在のブックか新しいブック内の他の場所にコピーします。
構文
式。コピー (前、 後)
式Worksheet オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Before | 省略可能 | バリアント型 (Variant) | コピーしたシートを特定のシートの直前の位置に挿入するときに、そのシートを指定します。 After を指定した場合、Before を指定することはできません。 |
After | 省略可能 | バリアント型 (Variant) | コピーしたシートを特定のシートの直後の位置に挿入するときに、そのシートを指定します。 ただし、引数 After を指定すると、引数 Before を指定することはできません。 |
注釈
Before または After を指定しない場合、コピーした Worksheet オブジェクトを含む新しいブックが作成されます。 新しく作成されたブックには Application.ActiveWorkbook プロパティが保持され、1 つのワークシートが含まれています。 1 つのワークシートには、ソース ワークシートの Name プロパティと CodeName プロパティが保持されます。 コピーしたワークシートに VBA プロジェクトのワークシート コード シートが含まれている場合、これは新しいブックにも含まれます。
複数のワークシートの配列選択を、同様の方法で新しい空白 の Workbook オブジェクトにコピーできます。
Source と Destination は同じ Excel.Application インスタンスに存在する必要があります。そうしないと、ランタイム エラー '1004' が発生します。そのようなインターフェイスはサポートされていません。使用 Sheet1.Copy objWb.Sheets(1)
されている場合はサポートされません。またはランタイム エラー '1004': Worksheet クラスのコピー メソッドが使用されていない場合 ThisWorkbook.Worksheets("Sheet1").Copy objWb.Sheets(1)
は失敗します。
例
次の使用例は、シート 1 のコピーを、シート 3 の後に挿入します。
Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")
次の使用例は、最初に Sheet1 を新しい空白のブックにコピーしてから、新しいブックを保存して閉じます。
Worksheets("Sheet1").Copy
With ActiveWorkbook
.SaveAs Filename:=Environ("TEMP") & "\New1.xlsx", FileFormat:=xlOpenXMLWorkbook
.Close SaveChanges:=False
End With
次の使用例は、ワークシート Sheet1、Sheet2、Sheet4 を新しい空白のブックにコピーし、新しいブックを保存して閉じます。
Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy
With ActiveWorkbook
.SaveAs Filename:=Environ("TEMP") & "\New3.xlsx", FileFormat:=xlOpenXMLWorkbook
.Close SaveChanges:=False
End With
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。