IRONSOFTWAREHOME

C#でセルをコピーする方法 with IronXL

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

IronXLは、Excelスプレッドシートでセル、範囲、行、または列をコピーする際に、ページ設定やスタイリングを全て保持しつつ、任意の場所やワークシート間でデータを複製する単一のCopyメソッドを使用できます。

セルのコピー"機能は、セルの内容を複製し、他のセルに貼り付けます。 ワークシート内のデータ、数式、書式、その他の属性を複製します。 ゼロからスプレッドシートを作成する場合でも、既存の Excel ファイルをロードする場合でも、コピー機能は効率的なデータ操作に不可欠です。

クイックスタート: 1行で列または範囲をコピー

単一のセル、行、列、またはブロックなどの範囲全体を、1つのメソッド呼び出しでシートから別のシートにコピーします。 Copy関数は、スタイリングとフォーマットを保持しながら、Excelオートメーションを迅速かつ簡単に行います。

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2このコード スニペットをコピーして実行します。

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronXL を使い始めましょう無料トライアル
    arrow pointer

Excelで1つのセルをコピーするには?

選択したセルの内容をコピーするには、Copyメソッドを使用してください。 ワークシートオブジェクトを最初のパラメーターとして渡し、開始位置を2番目のパラメーターとして渡します。 Copyメソッドは、フォントとサイズ背景パターンと色、および境界線と配置を含むすべてのスタイリングを保持します。

using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet1"), "B3");

workBook.SaveAs("copySingleCell.xlsx");

コピー時に保存される書式は何ですか?

Copyメソッドは、以下を含むすべてのセルプロパティを保持します:

  • Cellの値と数式
  • 数値フォーマット(通貨、パーセンテージ、日付)
  • フォントスタイリング(書体、サイズ、太字、斜体、色)
  • セルの枠線と背景色
  • テキストアライメント(水平および垂直)
  • セル保護設定

この包括的な保存により、Microsoft ExcelでC#とCtrl+Vを使用するのと同様に、コピーされたセルが元の外観と機能を維持することが保証されます。

セルA1が選択され、コピーされた値を含むセルB3を指す矢印が示されたスプレッドシート。

なぜコピー メソッドは 2 つのパラメータを取るのですか

Copyメソッドは、正確な制御のために2つのパラメータを必要とします。

  1. ワークシートパラメータ: 目的地のワークシートを指定します(ワークブック内で同じか異なる)
  2. アドレスパラメータ: 貼り付けるコンテンツの開始セル位置を定義します

このデザインでは、同じシート内または異なるシート間で柔軟にコピーできるため、サマリーレポートの作成や複数のソースからのデータの統合に最適です。

シングルセルコピーと範囲コピーのどちらを使うべきか

次のような場合は、シングルセルコピーを選択してください:

  • 個々の値または数式を複製する
  • ヘッダーセルまたはラベルをコピーする
  • 特定の計算された結果を複製する
  • サマリ値を操作する

以下のような場合にレンジコピーを使用してください:

  • 完全なデータテーブルを移動する
  • 関連する複数のセルを複製する
  • 完全な行または列をコピーする
  • データ関係の保持

複数のセルまたは範囲をコピーするにはどうすればよいですか?

Rangeクラスで利用可能で、任意の範囲サイズでの実行を可能にします。範囲を選択する際には、IronXLは柔軟なコピーオプションを提供します:

  • 単一のセルをコピーする(C10)

    workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");
  • 列をコピーする(A)

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
  • 行をコピーする(4)

    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");
  • 2次元の範囲をコピーする(D6:F8)

    workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");
ご注意: 2番目のパラメーターはデータ入力の開始位置を示すアドレスを受け入れます。 コピーされたデータはそのアドレスから右と下に広がります。
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy a single cell(C10)
workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");

// Copy a column(A)
workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");

// Copy a row(4)
workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");

// Copy a two-dimensional range(D6:F8)
workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");

workBook.SaveAs("copyCellRange.xlsx");

宛先範囲が小さすぎるとどうなりますか

IronXLは自動的にサイズの違いを処理します:

  • 目的地のパラメータは、左上の開始セルのみを指定します
  • ソース範囲全体が目的地のサイズに関係なくコピーされます
  • 目的地エリアの既存のデータは上書きされます
  • コピー操作は、すべてのソースデータを収容するために拡張されます

例えば、3x3の範囲をセルB1:D3が埋められ、既存のコンテンツが上書きされます。

行と列の参照はどのように機能しますか?

IronXLは、GetColumn()メソッドで、行および列に対して0ベースインデックスを使用します:

  • GetColumn(0)は列Aを指します
  • GetColumn(1)は列Bを指します
  • GetRow(0)は行1を指します
  • GetRow(3)は行4を指します

このインデックス付けは、標準的な C# 配列の規約に沿ったものです。

なぜGetRow()メソッドを使用するのか?

GetRow()メソッドは以下を提供します:

  • パフォーマンス:全行または全列に対してより効率的
  • 明快さ:コードの意図を明確にします
  • 柔軟性:すべての範囲操作をサポートするRangeオブジェクトを返します
  • 便利さ:完全な選択のために終了セルを計算する必要がありません

これらの方法は、列の完全なコピーを必要とするレポートを作成する場合や、行のテンプレートを複製する場合に優れています。

Excelのコピー操作で、コピー元の範囲A1:F10からコピー先のセルに矢印が表示され、コピーされたデータが強調表示されています。

異なるワークシート間でセルをコピーするには?

最初のパラメータはワークシートオブジェクトを受け入れ、異なるワークシート間でのコピー&ペーストを可能にします。 最初のパラメータとして、別のワークシートオブジェクトを渡してください。 複数のワークシートを管理するときや、詳細なデータからサマリーシートを作成するときに、この機能は不可欠です。

workBook.GetWorksheet("Sheet2")

using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet2"), "B3");

workBook.SaveAs("copyAcrossWorksheet.xlsx");

一般的なクロスワークシートコピーシナリオとは

このようなシナリオでは、ワークシート間のコピーが頻繁に使用されます:

  1. サマリシートの作成: 詳細シートからキー指標をダッシュボードにコピーします
  2. テンプレートの複製: フォーマットされたテンプレートを新しいワークシートにコピーします
  3. データ統合: 部門シートからデータを集め、マスターシートにまとめます
  4. レポート生成: フィルタリングされた結果を別のレポート作成ワークシートにコピーします
  5. バックアップ操作: 重要なデータをバックアップシートに複製します

他のセルを参照する数式を扱う場合、IronXLは絶対参照を維持したまま、新しい位置に基づいて相対参照を自動的に調整します。

新しいワークシートと既存のワークシートでは、いつコピーすべきですか?

以下の場合、新しいワークシートにコピーしてください:

  • 定期的なレポートの作成(日次、週次、月次)
  • 生データから処理済みデータを分離する
  • ソースデータから分析ワークシートを作成する
  • ユーザー固有のデータビューを生成する

以下の場合、既存のワークシートにコピーしてください:

  • 進行中のログにデータを追加する
  • ダッシュボードセクションを更新する
  • 複数のデータソースを統合する
  • 履歴記録を維持する

複数のシートを含む複雑なシナリオでは、高度なデータ操作のためにデータセットとデータテーブルを扱うIronXLの機能を使うことを検討してください。

ワークシートの名前の競合をどのように処理しますか?

ワークシート間でコピーする際に、適切なワークシート管理を行うこと:

// Check if worksheet exists before copying
if (workBook.GetWorkSheet("TargetSheet") == null)
{
    workBook.CreateWorkSheet("TargetSheet");
}

// Safe copy operation
WorkSheet targetSheet = workBook.GetWorkSheet("TargetSheet");
sourceSheet["A1:Z100"].Copy(targetSheet, "A1");

このアプローチは、ランタイムエラーを防ぎ、本番環境でExcelプロセスを自動化する場合に特に重要なコピー操作を確実に成功させます。

よくある質問

C# を使用して Excel で 1 つのセルをコピーするにはどうすればよいですか?

IronXLではCopyメソッドを使って一つのセルをコピーすることができます。コピーしたいセル(例えばworkSheet["A1"])を選択し、コピー先のワークシートとコピー先のセルアドレスをパラメータとしてCopyメソッドを呼び出すだけです。IronXLはコピー操作の間、フォント、色、枠線、数式を含むすべての書式を保持します。

セルをコピーする際、どのような書式が保持されますか?

IronXLのコピーメソッドは、セルの値や数式、数値フォーマット(通貨、パーセンテージ、日付)、フォントスタイル(書体、サイズ、太字、斜体、色)、セルの境界線と背景色、テキストの配置(水平方向と垂直方向)、セルの保護設定を含むすべてのセルプロパティを保持します。これにより、コピーされたセルは元の外観と機能を維持します。

列や範囲全体を一度にコピーできますか?

はい、IronXLでは一回の操作で列、行、範囲全体をコピーすることができます。GetColumn(0).Copy()のようなメソッドを使って列全体をコピーしたり、セル範囲を選択して複数のセルを一度にコピーすることができます。Copy メソッドは、単一のセルからワークシート全体まで、どのような選択サイズでも動作します。

異なるワークシート間でセルをコピーする方法を教えてください。

IronXLではワークシート間のセルのコピーが簡単にできます。Copyメソッドを使用する場合、最初のパラメータとしてコピー先のワークシートを指定し(例えば、workBook.GetWorkSheet("Sheet2"))、2番目のパラメータとしてコピー先のセル・アドレスを指定します。これにより、同じワークブック内の異なるシート間でデータをコピーできます。

Excelでセルをコピーするために最低限必要な手順は何ですか?

IronXLを使えば、セルのコピーはわずか5ステップで完了します:1) IronXL C#ライブラリをダウンロードする、2) 既存のExcelスプレッドシートを読み込む、3) コピーしたい範囲、行、列を選択する、4) 選択した範囲でCopyメソッドを呼び出す、5) コピー先のワークシートと位置をCopyメソッドに渡す。すべての操作は、1行のコードで行うことができます。

What happens if the destination range is smaller than the source when copying cells with IronXL?

When the destination range is smaller, IronXL's `Copy` function still accommodates the full source range by overwriting any existing data in the destination area, expanding as needed to fit all copied data.

Why might I choose to copy to a new worksheet rather than an existing one?

Copying to a new worksheet is recommended for creating periodic reports, isolating processed data, building analysis sheets, and generating user-specific views. This ensures data separation and clarity in reporting.

How do row and column references work in IronXL?

IronXL uses zero-based indexing where `GetColumn(0)` refers to column A, and `GetRow(0)` refers to row 1. This aligns with C# array conventions, making it intuitive for developers familiar with standard C# practices.

What are common scenarios for cross-worksheet copying with IronXL?

Cross-worksheet copying in IronXL is commonly used for creating summary sheets, replicating templates to new sheets, consolidating data from multiple sources, generating reports, and performing backup operations of critical data.

How does IronXL handle worksheet naming conflicts during copy operations?

IronXL manages worksheet naming conflicts by allowing you to check for and create target sheets if they don't exist, ensuring safe copy operations without runtime errors, which is crucial for automating Excel processes.

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

Nuget Downloads 2,237,574バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. 参照選択し、"IronXL"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

  1. IronXLを~/Libsなどの場所にダウンロードし、ソリューションディレクトリに解凍します
  2. Visual Studioのソリューションエクスプローラ内で参照を右クリックし、を選択「IronXL.dll」参照選択

ライセンス$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。