RangeオブジェクトのCopyメソッドを使用した場合は、
そのセル範囲にある図形までついてきてしまいます。
Dim コピー元範囲 As Range Set コピー元範囲 = ThisWorkbook.Worksheets("○○").Range("A1:C3") Dim コピー先セル As Range Set コピー先セル = ThisWorkbook.Worksheets("○○").Range("E5") コピー元範囲.Copy コピー先セル ' ↑このコードでは図形ごとコピーされてしまう
この解決策、実は簡単で、
以下のコードを実行するだけで図形以外のセル範囲だけをコピーすることが可能です。
Dim コピー元範囲 As Range Set コピー元範囲 = ThisWorkbook.Worksheets("○○").Range("A1:C3") Dim コピー先セル As Range Set コピー先セル = ThisWorkbook.Worksheets("○○").Range("E1") コピー元範囲.Copy コピー先セル.PasteSpecial xlPasteAll ' 図形を除外して貼り付け
このコードは単純な「形式を選択して貼り付け⇒すべて」を行っているコードで、
実はこれだけで図形がコピーされなくなります。
これは実際のExcelでも同じ仕様になっており、
形式を選択して貼り付けダイアログで再現が可能です。

普通にExcelを使う上でも便利な機能ですので、
知らなかった方はこの機会に覚えておきましょう。