にっきダイアリー

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

Excel2007でオブジェクトを含むセル範囲をコピーしたとき、コピー先のセルサイズによってオブジェクトのサイズが変化してしまう問題の解決

昨日の自分へ。挿入でも駄目でした^^
解決策は二つ。

その1
範囲をセル単位でなく、行・列単位で指定してコピーペーストするとコピー先のセルの幅や高さもコピー元に合わせてくれるからか、オブジェクトのサイズが変わらない。
その2
真横や真下以外の場所に複製する場合は、先にコピー先のセルのサイズをコピー元のサイズに合わせてからペーストする。

オブジェクトのサイズ変更しないオプションが、セルごとのコピーペーストには反映しないということを覚えておこう。

追記

件のマクロでセル範囲をコピーしている部分を見たら、コピーした後にセルのサイズをコピー元に合わせてリサイズしていた。もしかすると、オブジェクトのプロパティをいっそ「セルに合わせて移動やサイズ変更をする(S)」にしておけばいいんじゃあ……
と思ってプロパティを変更したら、希望通りコピー元にあるオブジェクトのサイズで複製された。(実際はサイズがセルに合わせて二回変化しているが)
なんだ、かたくなにサイズ変更しないプロパティに拘ってたのがいけないのか…移動&サイズ変更するにしておくとセル範囲を削除した時にオブジェクトも消えてくれるので、その設定にしておいた方がいいね。
はあ、つかれた。