溢れ出る加齢臭

カレー臭に加え加齢臭が溢れ出る年齢になりました。

Excelのシートの一部を拡大・縮小して表示させる

こういうタイトルをつけてみたけれど、伝わっているかどうか全くわからない。

Excelで行数や列数の異なる複数の表を作っていて、それをA4の紙1枚に表示できるようにレイアウトしたいことはないだろうか。


僕はある。


こういうとき、今まではどちらかの方法をとっていた。

  1. Excel上でA4の紙1枚に表示できるように行や列の幅を調整したり、行や列を結合するなどして、なんとかA4で1枚の大きさにする(もしくは縦横比を3:2ぐらいにして拡大縮小印刷すればA4で1枚になるようにする)
  2. WordかPowerpointにワークシートオブジェクトか、図形式で貼り付ける

1.の方法は最初から表のレイアウトを決めてから表を作り始めないと、レイアウトが非常に難しくなる。僕はこのやり方でいつも破綻していた。

2.の方法はデータ(Excel)とレイアウトを完全に分離できるから気を使わなくていいものの、そのために新しいファイルを作らないといけない。図形式で貼り付けてしまうと、後からExcelデータを変更した場合は、図を貼り直さないといけない。ワークシートオブジェクトの場合でも更新したデータを印刷するために、WordやPowerpointを立ち上げないといけない。面倒。


ここに裏技があった。


Excel上で、2.と同様の方法をやってしまうのだ。


しかし、コピー&ペーストはこの場合使えない。ワークシートを図として貼ることができない。


ではどうするか?


答えは、任意のクリップアートを配置したあと、その図の参照先を表示させたい表の範囲にするである。


こうすると、どんなクリップアートであっても、参照先を表示させたい表の範囲にした瞬間に表示されている内容や大きさが変わる。また、縦横の縮小ができるので、Excelではできない文字の拡大・縮小もできてしまう。


この時、注意しなければいけないのは、元の図はクリップアートか貼りつけた図であること。図形描画で描いた図形ではいけない。


図形描画で描いた図形において、参照先を表示させたい表の範囲にすると、その図形内に範囲の左上隅のセルの内容がテキストボックスの内容として表示されてしまう。