0

これを解決するために何時間も探していましたが、答えが見つかりません。

Excel テーブルがあり、そのテーブルの部分的なコピーを含む別のシートがあります。

今私が欲しいのは、最初のテーブルに行を追加するときです(この下にもテキストがありますが、そこにマークを付けるか、そこで終了するようにマークすることができます)、他のテーブルも同じ量の行を追加します (また、2 番目のテーブルには下にテキストがあることに注意してください)。

これを行う方法がわかりません。最善の方法は何ですか?

私が尋ねたことが理にかなっているのかさえわかりません。

それでは、別の言葉でもう一度試してみましょう。

シート 1:

  • いくつかのテキスト
  • 私の行
  • いくつかのテキスト

シート 2:

  • 別のテキスト
  • 私の行
  • その他のテキスト

シート 1 に行を追加する場合は、シート 2 にも追加する必要があります。

これは可能ですか?

どうもありがとう

4

1 に答える 1

0

考えられる解決策は C# です。実際には、データを 1 つのシートに挿入した後、同じテーブル コンテンツまたはそのシートのコピーを目的のシートに複製します。または、copytoclipboard を使用して、任意のテーブルを取得し、それを desintation にコピーします。どのソリューションをお探しですか? C#、VBA?

sheet.UsedRange.Copy(Missing.Value); 
sheet.Range(cellmapp).PasteSpecial(); 

cellmapp は、置換する範囲です。領域に対してテキストが大きすぎる場合は、sheet.Columns.AutoFit(); を使用できます。sheet.Rows.AutoFit(); これは C# ソリューションですが、もう少しプログラミングが必要です。

そして、シートをループするために:

foreach (Excel.Worksheet sheet in workbook.Sheets) 
{ 
   workbook.Activate(); sheet.Activate(); foreach (Excel.Shape shape in sheet.Shapes)
   { } 
}

行、変更、または切り替え場所については、新しい行を作成する場合、既存のすべての行の値を 1 つの位置から可能な限り右に移動できます。

sheet.UsedRange.Copy(Missing.Value); //copy your existing row's 
sheet.Range(cellmapp).PasteSpecial(); // move them from B4 to C4
于 2013-06-04T14:50:23.343 に答える