次の方法で共有


方法: プログラムによってワークシートをコピーする

ワークシートのコピーを作成し、ブック内の既存のワークシートの前または後に挿入できます。ワークシートの挿入先を指定しない場合は、新しいブックが作成され、そこに新しいワークシートが挿入されます。

対象: このトピックの情報は、Excel 2013 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

[!メモ]

プログラミングによってワークシートをコピーしても、エンド ユーザーが手動でワークシートをコピーしても、新しいワークシートには分離コードがないので、新しいワークシート上のコントロールは機能しません。新しくコピーしたワークシートは Microsoft.Office.Interop.Excel.Worksheet オブジェクトであって、Microsoft.Office.Tools.Excel.Worksheet ホスト項目ではないからです。Windows フォーム コントロールおよびホスト コントロールは、ホスト項目にのみ追加できます。詳細については、「ホスト項目およびホスト コントロールのプログラム上の制限事項」を参照してください。

ドキュメント レベルのカスタマイズのブックに、コピーしたワークシートを追加するには

  • Copy メソッドを使用して、作業中のブック内の 1 番目のワークシートをコピーし、そのコピーを 3 番目のシートの後に挿入します。

    Globals.Sheet1.Copy(After:=Globals.ThisWorkbook.Sheets(3))
    
    Globals.Sheet1.Copy(Globals.ThisWorkbook.Sheets[3]);
    

アプリケーション レベルのアドインで、コピーしたワークシートをブックに追加するには

  • Copy メソッドを使用して、作業中のブック内の 1 番目のワークシートをコピーし、そのコピーを 3 番目のシートの後に挿入します。

    Dim worksheet1 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(1),  _
    Excel.Worksheet)
    Dim worksheet3 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(3),  _
    Excel.Worksheet)
    worksheet1.Copy(After:=worksheet3)
    
    Excel.Worksheet worksheet1 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[1]);
    Excel.Worksheet worksheet3 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[3]);
    worksheet1.Copy(worksheet3);
    

参照

処理手順

方法: プログラムを使用して新しいワークシートをブックに追加する

方法: プログラムによってブックからワークシートを削除する

方法: プログラムによってワークシートを選択する

概念

ワークシートの操作

ホスト項目とホスト コントロールの概要

拡張オブジェクトによる Excel の自動化

Office プロジェクト内のオブジェクトへのグローバル アクセス

ホスト項目およびホスト コントロールのプログラム上の制限事項

Office ソリューションの省略可能なパラメーター