LoginSignup
9
7

More than 3 years have passed since last update.

Excelを閉じるとき「図が大きすぎます。入りきらない部分は切り捨てられます」と出る場合の対処

Last updated at Posted at 2019-06-07

2019年6月現在、VBAからクリップボードに大きなデータをコピーした状態で、Excelを保存せずに終了しようとすると、「図が大きすぎます。入りきらない部分は切り捨てられます。」というメッセージが出ることがあります。発生を確認した環境はWindows 10/Excel 2016です。
キャプチャ.PNG
このメッセージ、図がひとつもなくても出るので、バグといってよさそうです。放置しても、とくに何も起こらないようなので、実害はありません。でも、何度も表示される場合もあって面倒だし、切り捨て御免とは穏やかでない。

現在、2つの対処方法が提案されています。

  • オプションを変更:ファイル→オプション→詳細設定→「切り取り、コピー、貼り付け」グループの、「挿入したオブジェクトをセルと共に切り取り、コピー、並べ替えを行う」オプションのチェックを外す。
  • クリップボードを消す:VBAでクリップボードを消すコードを追加する

オプションを変更する方法は、自分の環境では有効ですが、他の人に使ってもらう場合は難しいです。また、副作用もあります。クリップボードを消す方法は、WindowsのAPIを操作する必要があるのでやや高度です。

そこでもうひとつ、クリップボードに大きいもんがあったらあかんゆうんやったらなんでもええから小さいもんいれといたらええやん、というチープな回避策を考えてみました。

sample.bas
somethingBig.copy(target)   'クリップボードに大きなオブジェクトを格納する処理
Range("A1").copy                    'ActiveSheetのA1セルをクリップボードにコピー(バグ回避)

Range("A1")はActiveWorksheetのA1セルです。[A1]と書いてもいいです。もちろんA1でなくてもどこのセルでもOKです。

なお、値だけをコピーする場合など、そもそもクリップボードを使わなくていい書き方が可能であればそのほうが速いので、それにこしたことはないです。

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7