2012年11月7日水曜日

Excel表の中にExcel表を貼る

 私の趣味として、たいがいの中間作成物はExcelで作ってます。
 なので、過去に作ったExcel資料の一部を流用したい、てな状況が頻繁に発生するわけです。
 ところが、たいていの場合は流用元と先でセルの幅が違うわけで、そのままコピペするとぐちゃぐちゃです。

 まあ誰もが悩む壁ですよね。
 真面目に本を調べたり検索したりすれば対策があるのかもしれませんが、めんどくさいので自己流でやってます。

方法1. セルを方眼紙にする

 Excelのセルの幅を全て"幅2"に統一します。
 横長のセルが必要な場合は、セル結合です。
 このフォーマットで作成した資料間は、コピペの互換性が高くなります。
 また、文章のインデントも楽につけられます。

 欠点は、セルの結合を多用せねばならないところです。
 数値データのコピペ等ができず、不便な状況が発生します。
 かといってセル結合しないと、印刷でめんどくさいので渋々。

 また、他の人が作った、このフォーマットに沿っていない資料には無力です。


方法2. "Microsoft Office Excel ワークシート オブジェクト"で貼る

 流用元のExcelから普通にコピーし、流用先へ貼るときに"Microsoft Office Excel ワークシート オブジェクト"として貼ります。
 要は、WordにExcelの表を貼り付けるのと同じことを、Excel-Excel間でやっています。

 この方法には、結構なメリットがあります。
---
a. 貼り付けた部分のサイズや配置を自由に変更できる
b. 印刷結果は高品質
c. 貼り付け後もデータの編集が可能
---
 "拡張メタデータ"で貼り付けてもa.とb.のメリットは享受できますが、c.はオブジェクトで貼ってこそです。便利。

 なお、コピー元データがシンプルな表の場合、流用先のExcelで"形式を選択して貼り付け"を実行しても、選択肢にExcelオブジェクトが出てこないことがあります。
 この場合、いったん、コピーしたいデータをWordに貼ります。
 勿論、"形式を選択して貼り付け"でExcelオブジェクトとして貼ります。
 そして、Wordから流用先Excelに貼れば、Excelオブジェクトとして貼り付けできます。

 欠点は、貼り付け後に表の行数・列数を変更できないこと。
 WordにExcelオブジェクトを貼った場合は、外枠のサイズを変えることにより可能です。
 しかし、Excel上のExcelオブジェクトで同じ操作を行っても、オブジェクトそのもののサイズを変えることしかできません。


 今まで基本的に方法1.でやってきましたが、転職先のドキュメント標準との親和性が著しく悪いため、今はもっぱら方法2.を使っています。

0 件のコメント:

コメントを投稿