アドインを作成しており、Excel が提供するテーブル テーブル スタイルとして Format を使用して、アドインが生成する出力をフォーマットしようとしています。
リボンの「ホームタブ」->「表としてフォーマット」ボタンで取得したもの。
私は次のコードを使用しています:
SourceRange.Worksheet.ListObjects.Add(XlListObjectSourceType.xlSrcRange,
SourceRange, System.Type.Missing, xlYesNo, System.Type.Missing).Name =
TableName;
SourceRange.Select();
SourceRange.Worksheet.ListObjects[TableName].TableStyle = TableStyleName;
TableStyleName は、TableStyleMedium17 のような任意のスタイル名です。Excel で特定のスタイルにカーソルを合わせるだけで取得できます。
私の問題は、SourceRange
10列のままにしても、最後まですべての列が選択され、1つのテーブルと見なされることです。そのため、そのすぐ隣に入力するテーブルも、生成された最初のテーブルの一部と見なされます。両方のテーブルの列名が同じであるため、Excel は、生成される次のすべてのテーブルの列名を自動的に変更します。また、2 つのテーブルが生成された後にループでテーブルを生成しているため、次のエラーが発生します。
テーブルを別のテーブルに重ねることはできません。
PS:私は明確に次のように言及しSourceRange
ています:
var startCell = (Range)worksheet.Cells[startRow, startCol];
var endCell = (Range)worksheet.Cells[endRow, endCol];
var SourceRange = worksheet.get_Range(startCell, endCell);
抜け道を提案してください。