にっきダイアリー

はてなダイアリーからはてなblogに移動してみました。

Excel2007上でオブジェクトをコピーする時の問題

半日悩んでるが解決方法が見つからないので、とりあえず現状だけメモっておく。
Excel2007で、ワークシート上にあるオブジェクトを周辺のセルを含めて複製するVBAマクロを組んで実行したところ、オブジェクトのプロパティを「セルに合わせて移動するがサイズ変更はしない(M)」に設定してあるにもかかわらず、オブジェクトの形状がペースト先のセルに合わせて変化してしまう。
オブジェクトのみを選択し、コピーペーストした時はペースト先のセルのサイズにかかわらず、オブジェクトの形は変わらない。
ちなみにオブジェクトのプロパティを「セルに合わせて移動やサイズ変更をしない(D)」にした場合、周辺のセルを選択してコピーペーストしてもオブジェクトはコピーされないので、この設定は使えない。
VBAが悪いわけじゃなくて、手動でやってみても再現されるのでExcelのコピーペーストとオブジェクトのプロパティまわりの作りがおかしいんだろうと思う。
……どうしてくれよう……。
セルごとコピーペーストしちゃうと、選択しているセルの中に複数のオブジェクトが含まれてた場合、それぞれのオブジェクトを特定し、本来貼り付けたかったサイズに変更しなおすのは困難だ。
となると、やっぱり、セルはセルでコピーし、その後オブジェクトを一つ一つコピーしてサイズ指定してってやらないとダメなのかな。
自宅PCに2007入ってないから、明日の自分へ。
ペーストじゃなく挿入だったらどうなるだろうか?